|
@@ -9,7 +9,7 @@
|
|
|
<el-input v-model="searchInfo" placeholder="搜索产品编号或产品名称" style="width: 180px;"></el-input>
|
|
<el-input v-model="searchInfo" placeholder="搜索产品编号或产品名称" style="width: 180px;"></el-input>
|
|
|
<el-button type="primary" icon="search" @click="onSubmit" class="search"></el-button>
|
|
<el-button type="primary" icon="search" @click="onSubmit" class="search"></el-button>
|
|
|
<el-button type="primary" icon="edit" @click="onStatusClick" class="bt"><i class="el-icon-edit"></i>状态设置</el-button>
|
|
<el-button type="primary" icon="edit" @click="onStatusClick" class="bt"><i class="el-icon-edit"></i>状态设置</el-button>
|
|
|
-<!-- <el-button type="primary" class="bt" icon="edit" @click="cpgyfzclick">产品工艺复制</el-button>-->
|
|
|
|
|
|
|
+ <el-button type="primary" class="bt" icon="edit" @click="cpgyfzclick">产品工艺复制</el-button>
|
|
|
<el-button type="primary" class="bt" icon="edit" @click="gygmClick" >工艺方案更名</el-button>
|
|
<el-button type="primary" class="bt" icon="edit" @click="gygmClick" >工艺方案更名</el-button>
|
|
|
<el-button type="primary" class="bt" icon="edit" @click="fjClick" >工艺方案附加</el-button>
|
|
<el-button type="primary" class="bt" icon="edit" @click="fjClick" >工艺方案附加</el-button>
|
|
|
<el-button type="primary" class="bt" icon="edit" @click="jsssxzClick" >计损色数修正</el-button>
|
|
<el-button type="primary" class="bt" icon="edit" @click="jsssxzClick" >计损色数修正</el-button>
|
|
@@ -42,31 +42,54 @@
|
|
|
<!-- 产品工艺复制-->
|
|
<!-- 产品工艺复制-->
|
|
|
<el-dialog v-model="cpgyfzlist" title="产品工艺复制" style="width: 35%;top: 15%;">
|
|
<el-dialog v-model="cpgyfzlist" title="产品工艺复制" style="width: 35%;top: 15%;">
|
|
|
<el-form-item label="参照产品代号:" prop="process" class="mab">
|
|
<el-form-item label="参照产品代号:" prop="process" class="mab">
|
|
|
- <el-input v-model="cpgyfzformData['process']" placeholder="" style="width: 160px;"/>
|
|
|
|
|
- <el-input v-model="cpgyfzformData['processName']" placeholder="" style="width: 360px;"/>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="参照工艺方案:" prop="process" class="mab">
|
|
|
|
|
- <el-input v-model="cpgyfzformData['gongyifa']" placeholder="" style="width: 160px;"/>
|
|
|
|
|
|
|
+ <el-input disabled v-model="cpgyfzformData['process']" id="process" @keydown="add_cpgyfzent($event, 'fzybzl', 'process', 'processName')" placeholder="" style="width: 160px;"/>
|
|
|
|
|
+ <el-input disabled v-model="cpgyfzformData['processName']" id="processName" @keydown="add_cpgyfzent($event, 'process', 'processName', 'gongyifa')" placeholder="" style="width: 360px;"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
- <el-form-item label="目标产品代号:" prop="process" class="mab">
|
|
|
|
|
- <el-input v-model="cpgyfzformData['mubprocess']" placeholder="" style="width: 160px;"/>
|
|
|
|
|
- <el-input v-model="cpgyfzformData['mubprocessName']" placeholder="" style="width: 360px;"/>
|
|
|
|
|
|
|
+ <el-form-item label="参照工艺方案:" prop="originalName" class="mab">
|
|
|
|
|
+ <el-select v-model="cpgyfzformData.gongyifa" placeholder="请选择" id="gongyifa" @keydown="add_cpgyfzent($event, 'processName', 'gongyifa', 'mubprocess')" style="width: 160px;">
|
|
|
|
|
+ <el-option v-for="option in cpgyfzformData.gongyifaNameOptions" :key="option" :label="option" style="width: 160px;" :value="option" />
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
+ <el-form-item label="目标产品代号:" prop="process" class="mab">
|
|
|
|
|
+ <el-input v-model="cpgyfzformData['mubprocess']" id="mubprocess" @keydown="add_cpgyfzent($event, 'gongyifa', 'mubprocess', 'mubprocessName')" placeholder="" style="width: 160px;"/>
|
|
|
|
|
+ <el-input disabled v-model="cpgyfzformData['mubprocessName']" id="mubprocessName" @keydown="add_cpgyfzent($event, 'mubprocess', 'mubprocessName', 'fzgyzl')" placeholder="" style="width: 360px;"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+<!-- cpgyfzformData.fzgyzl === true-->
|
|
|
<el-form-item label="" class="mab" >
|
|
<el-form-item label="" class="mab" >
|
|
|
- <el-checkbox v-model="cpgyfzformData['fzgyzl']">复制工艺资料</el-checkbox>
|
|
|
|
|
|
|
+ <el-checkbox v-model="cpgyfzformData['fzgyzl']" id="fzgyzl" @keydown="add_cpgyfzent($event, 'mubprocessName', 'fzgyzl', 'fzybzl')" >复制工艺资料</el-checkbox>
|
|
|
|
|
+ <el-input v-model="cpgyfzformData['to_pro']" id="to_pro" v-if="cpgyfzformData['fzgyzl'] !== false" placeholder="目标工艺方案" style="width: 160px;margin-left: 20px"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="" class="mab" >
|
|
<el-form-item label="" class="mab" >
|
|
|
- <el-checkbox v-model="cpgyfzformData['fzybzl']">复制印版资料</el-checkbox>
|
|
|
|
|
|
|
+ <el-checkbox v-model="cpgyfzformData['fzybzl']" id="fzybzl" @keydown="add_cpgyfzent($event, 'fzgyzl', 'fzybzl', 'process')" >复制印版资料</el-checkbox>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
<div class="dialog-footer" style="text-align: right ">
|
|
<div class="dialog-footer" style="text-align: right ">
|
|
|
<el-button @click="cpgyfzhandleCancel">取消</el-button>
|
|
<el-button @click="cpgyfzhandleCancel">取消</el-button>
|
|
|
<el-button type="primary" @click="cpgyfzhandleConfirm">确定</el-button>
|
|
<el-button type="primary" @click="cpgyfzhandleConfirm">确定</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
+ <!-- 产品工艺复制 目标产品代号弹窗-->
|
|
|
|
|
+ <el-dialog v-model="cpgyfzdisplay" :before-close="() => cpgyfzdisplay = false">
|
|
|
|
|
+ <el-form>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-form-item label="关键字:" class="mab" prop="keyOrder">
|
|
|
|
|
+ <el-space>
|
|
|
|
|
+ <el-input v-model="cpgyfz_keyword" @keyup.enter="cpgyfz_ProductValue" style="width: 100%;"/>
|
|
|
|
|
+ <el-button @click="cpgyfzSearchHandle(cpgyfz_keyword, '产品代号')">刷新</el-button>
|
|
|
|
|
+ </el-space>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <div style="border:1px solid #eee; width:100%; height: 400px; overflow-y: auto">
|
|
|
|
|
+ <el-tree :data="cpgyfzLists" :props="{children: 'children',label: 'name', value: '产品编号'}" @node-click="cpgyfzselectGongDanNode($event, '产品代号')" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
<!--工艺方案更名-->
|
|
<!--工艺方案更名-->
|
|
|
<el-dialog v-model="gygmlist" title="工艺方案更名" style="width: 35%;top: 15%;">
|
|
<el-dialog v-model="gygmlist" title="工艺方案更名" style="width: 35%;top: 15%;">
|
|
|
<el-form-item label="产品代号:" prop="process" class="mab">
|
|
<el-form-item label="产品代号:" prop="process" class="mab">
|
|
@@ -1476,9 +1499,34 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
|
|
import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
|
|
|
import { ref, reactive } from 'vue'
|
|
import { ref, reactive } from 'vue'
|
|
|
import {
|
|
import {
|
|
|
- DataList,editGyName, editGyNo, editProduct,editProductYjInfo,getProductGyInfo,
|
|
|
|
|
- getCustom,getDepartment,getProduct,editGy,getProductData,getProductYjInfo,
|
|
|
|
|
- getProductGy,editGyWaste,editGyMs,getStaffList,setProductStatus,getProductYjList,getProductZzList,addProductYjInfo,getDepartName,getProcess,getProcessLoss,addProductGyInfo} from "@/api/yunyin/yunying";
|
|
|
|
|
|
|
+ DataList,
|
|
|
|
|
+ editGyName,
|
|
|
|
|
+ editGyNo,
|
|
|
|
|
+ editProduct,
|
|
|
|
|
+ editProductYjInfo,
|
|
|
|
|
+ getProductGyInfo,
|
|
|
|
|
+ getCustom,
|
|
|
|
|
+ getDepartment,
|
|
|
|
|
+ getProduct,
|
|
|
|
|
+ editGy,
|
|
|
|
|
+ getProductData,
|
|
|
|
|
+ getProductYjInfo,
|
|
|
|
|
+ getGyTotal,
|
|
|
|
|
+ ProductCodeList,
|
|
|
|
|
+ getProductGy,
|
|
|
|
|
+ editGyWaste,
|
|
|
|
|
+ editGyMs,
|
|
|
|
|
+ getStaffList,
|
|
|
|
|
+ setProductStatus,
|
|
|
|
|
+ getProductYjList,
|
|
|
|
|
+ getProductZzList,
|
|
|
|
|
+ addProductYjInfo,
|
|
|
|
|
+ getDepartName,
|
|
|
|
|
+ getProcess,
|
|
|
|
|
+ getProcessLoss,
|
|
|
|
|
+ addProductGyInfo,
|
|
|
|
|
+ copyProductGy,
|
|
|
|
|
+} from '@/api/yunyin/yunying'
|
|
|
defineOptions({ name: 'Company'})
|
|
defineOptions({ name: 'Company'})
|
|
|
|
|
|
|
|
// =========== 导出Excel表格 ===========
|
|
// =========== 导出Excel表格 ===========
|
|
@@ -1788,9 +1836,11 @@ const cpgyfzformData = reactive({
|
|
|
process: '',
|
|
process: '',
|
|
|
processName: '',
|
|
processName: '',
|
|
|
gongyifa:'',
|
|
gongyifa:'',
|
|
|
|
|
+ gongyifaNameOptions: [],
|
|
|
mubprocess: '',
|
|
mubprocess: '',
|
|
|
mubprocessName: '',
|
|
mubprocessName: '',
|
|
|
- fzgyzl: '',
|
|
|
|
|
|
|
+ to_pro:'',
|
|
|
|
|
+ fzgyzl: false,
|
|
|
fzybzl: true,
|
|
fzybzl: true,
|
|
|
});
|
|
});
|
|
|
const cpgyfzclick = async () => {
|
|
const cpgyfzclick = async () => {
|
|
@@ -1803,10 +1853,170 @@ const cpgyfzclick = async () => {
|
|
|
}else{
|
|
}else{
|
|
|
cpgyfzlist.value = true;
|
|
cpgyfzlist.value = true;
|
|
|
cpgyfzformData.process = _product_code.value;
|
|
cpgyfzformData.process = _product_code.value;
|
|
|
|
|
+ await _getGyTotal();
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+//取消
|
|
|
|
|
+const cpgyfzhandleCancel = async () => {
|
|
|
|
|
+ cpgyfzlist.value = false;
|
|
|
|
|
+};
|
|
|
|
|
+//确定
|
|
|
|
|
+const is_copy_gy = ref(0);
|
|
|
|
|
+const is_copy_yb = ref(0);
|
|
|
|
|
+const toProUpperCase = ref('');
|
|
|
|
|
+const cpgyfzhandleConfirm = async () => {
|
|
|
|
|
+ // console.log(cpgyfzformData)
|
|
|
|
|
+ if(cpgyfzformData['process'] === ''){
|
|
|
|
|
+ ElMessage({type: 'warning',message: '参照产品代号不能为空' })
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(cpgyfzformData['mubprocess'] === ''){
|
|
|
|
|
+ ElMessage({type: 'warning',message: '目标产品编号不能为空' })
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(cpgyfzformData['gongyifa'] === '' || cpgyfzformData['gongyifa'] === undefined){
|
|
|
|
|
+ ElMessage({type: 'warning',message: '该产品未查询到工艺方案' })
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(cpgyfzformData['mubprocess'] === ''){
|
|
|
|
|
+ ElMessage({type: 'warning',message: '目标产品代号不能为空' })
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ //选择复制工艺资料
|
|
|
|
|
+ if (cpgyfzformData['fzgyzl'] === true) {
|
|
|
|
|
+ is_copy_gy.value = 1;
|
|
|
}
|
|
}
|
|
|
|
|
+ //选择复制印版资料
|
|
|
|
|
+ if (cpgyfzformData['fzybzl'] === true) {
|
|
|
|
|
+ is_copy_yb.value = 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ //选择复制工艺资料、不选择复制印版资料
|
|
|
|
|
+ if (cpgyfzformData['fzgyzl'] === true && cpgyfzformData['fzybzl'] === false) {
|
|
|
|
|
+ if(cpgyfzformData['to_pro'] === ''){
|
|
|
|
|
+ ElMessage({type: 'warning',message: '目标工艺方案不能为空' })
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ is_copy_gy.value = 1;
|
|
|
|
|
+ is_copy_yb.value = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ //选择复制印版资料、不选择复制工艺资料
|
|
|
|
|
+ if (cpgyfzformData['fzgyzl'] === false && cpgyfzformData['fzybzl'] === true) {
|
|
|
|
|
+ is_copy_gy.value = 0;
|
|
|
|
|
+ is_copy_yb.value = 1;
|
|
|
|
|
+ cpgyfzformData['to_pro'] = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ //都不选择提示信息
|
|
|
|
|
+ if (cpgyfzformData['fzgyzl'] === false && cpgyfzformData['fzybzl'] === false) {
|
|
|
|
|
+ ElMessage({type: 'warning',message: '请选择复制工艺资料 或 复制印版资料' })
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 判断是否为大写字母
|
|
|
|
|
+ if (cpgyfzformData['to_pro'] === cpgyfzformData['to_pro'].toUpperCase()) {
|
|
|
|
|
+ toProUpperCase.value = cpgyfzformData['to_pro'];
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果不是大写字母,则将其转换为大写
|
|
|
|
|
+ toProUpperCase.value = cpgyfzformData['to_pro'].toUpperCase();
|
|
|
|
|
+ }
|
|
|
|
|
+ const formattedData = {
|
|
|
|
|
+ from_code: cpgyfzformData['process'],
|
|
|
|
|
+ from_pro: cpgyfzformData['gongyifa'],
|
|
|
|
|
+ to_code: cpgyfzformData['mubprocess'],
|
|
|
|
|
+ is_copy_gy: is_copy_gy.value,
|
|
|
|
|
+ to_pro: toProUpperCase.value,
|
|
|
|
|
+ is_copy_yb: is_copy_yb.value,
|
|
|
|
|
+ };
|
|
|
|
|
+ console.log(formattedData);
|
|
|
|
|
+ const copyProductGy_add = await copyProductGy(formattedData);
|
|
|
|
|
+ if (copyProductGy_add.code === 0) {
|
|
|
|
|
+ xzhscslist.value = false;
|
|
|
|
|
+ ElMessage({ type: 'success', message: '更新成功' });
|
|
|
|
|
+ cpgyfzlist.value = false;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ElMessage({ type: 'error', message: '更新失败' });
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+cpgyfzhandleConfirm
|
|
|
|
|
+//101201052
|
|
|
|
|
+const _getGyTotal = async () => {
|
|
|
|
|
+ console.log(_product_code.value)
|
|
|
|
|
+ const getGyTotaldata = await getGyTotal({code:_product_code.value});
|
|
|
|
|
+ cpgyfzformData.processName = getGyTotaldata.data.name
|
|
|
|
|
+ cpgyfzformData.gongyifa = getGyTotaldata.data.gy[0]
|
|
|
|
|
+ cpgyfzformData.gongyifaNameOptions = getGyTotaldata.data.gy
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const cpgyfzdisplay = ref(false)
|
|
|
|
|
+const cpgyfzLists = ref(false);
|
|
|
|
|
+const cpgyfz_keyword = ref('')
|
|
|
|
|
+//点击客户代号
|
|
|
|
|
+const cpgyfzselectGongDanNode = (node, type) => {
|
|
|
|
|
+ if (type === '产品代号') {
|
|
|
|
|
+ cpgyfzformData['mubprocess'] = node.产品编号
|
|
|
|
|
+ cpgyfzformData['mubprocessName'] = node.产品名称
|
|
|
|
|
+ cpgyfzdisplay.value = false
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+const cpgyfzSearchHandle = async (v, type) => {
|
|
|
|
|
+ if (type === '产品代号') {
|
|
|
|
|
+ await _ProductCodeList(v)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+//【回车】
|
|
|
|
|
+const cpgyfz_ProductValue = async (v) => {
|
|
|
|
|
+ await _ProductCodeList(cpgyfz_keyword.value)
|
|
|
|
|
+};
|
|
|
|
|
+//产品代号列表
|
|
|
|
|
+const _ProductCodeList = async (v = '')=>{
|
|
|
|
|
+ try {
|
|
|
|
|
+ const ProductCodeListdata = await ProductCodeList({cilent: v});
|
|
|
|
|
+ cpgyfzLists.value = ProductCodeListdata.data
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error(error);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+const add_cpgyfzent = async (event,id1,id2,id3) => {
|
|
|
|
|
+ if (id2 === 'mubprocess' && event.key==='Tab' || id2 === 'mubprocess' && event.key=== 'Enter') {
|
|
|
|
|
+ // cpgyfz_keyword.value = '';
|
|
|
|
|
+ await _ProductCodeList(cpgyfzformData['mubprocess'])
|
|
|
|
|
+ if (cpgyfzLists.value != null) {
|
|
|
|
|
+ const row = cpgyfzLists.value.find(item => item.产品编号 === cpgyfzformData['mubprocess'])
|
|
|
|
|
+ if (row) {
|
|
|
|
|
+ cpgyfzformData['mubprocess'] = row.产品编号
|
|
|
|
|
+ cpgyfzformData['mubprocessName'] = row.产品名称
|
|
|
|
|
+ } else {
|
|
|
|
|
+ cpgyfzdisplay.value = true
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ cpgyfzdisplay.value = true
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
|
|
|
|
|
+ if(id3!=''){
|
|
|
|
|
+ document.getElementById(id3).focus()
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (event.keyCode === 38) { // 向上箭头
|
|
|
|
|
+ if(id1!=''){
|
|
|
|
|
+ document.getElementById(id1).focus()
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if (event.keyCode === 8) { // 删除箭头
|
|
|
|
|
+ if(id1!='' && document.getElementById(id2).value==''){
|
|
|
|
|
+ document.getElementById(id1).focus()
|
|
|
|
|
+ }
|
|
|
|
|
+ // console.log(document.getElementById(id2).value)
|
|
|
|
|
+ }else if (event.keyCode === 37) { // 向左箭头
|
|
|
|
|
+ if(id1!='' && document.getElementById(id2).selectionStart==0){
|
|
|
|
|
+ document.getElementById(id1).focus()
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if (event.keyCode === 39) { // 向右箭头
|
|
|
|
|
+ if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
|
|
|
|
|
+ document.getElementById(id3).focus()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
// =========== 工艺方案更名 ===========
|
|
// =========== 工艺方案更名 ===========
|
|
|
const gygmlist = ref(false);
|
|
const gygmlist = ref(false);
|
|
@@ -1856,6 +2066,10 @@ const gygmhandleCancel = () => {gygmlist.value = false;};
|
|
|
|
|
|
|
|
// 点击工艺方案更名【执行】按钮
|
|
// 点击工艺方案更名【执行】按钮
|
|
|
const gygmhandleConfirm = async () => {
|
|
const gygmhandleConfirm = async () => {
|
|
|
|
|
+ if(gyformData.originalName === '' || gyformData.originalName === undefined){
|
|
|
|
|
+ ElMessage({type: 'warning',message: '该产品未查询到工艺方案原名' })
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
if(gyformData.newName === ''){
|
|
if(gyformData.newName === ''){
|
|
|
ElMessage({
|
|
ElMessage({
|
|
|
type: 'warning',
|
|
type: 'warning',
|