.env.development
@@ -10,4 +10,4 @@ # é åå端æå¡ # VITE_APP_LOCAL = 'int' # VITE_APP_LOCAL = 'zhl' VITE_APP_LOCAL = 'hjy' VITE_APP_LOCAL = 'int' dist.zipBinary files differ
src/views/basicData/calendar/index.vue
@@ -261,7 +261,10 @@ prop="applicableFactory" class="factory_use_item" > --> <div class="select_factory select_factory_dis">éç¨å·¥å/车é´/å·¥åº</div> <div class="select_factory select_factory_dis"> <span class="error_require">*</span> <span>éç¨å·¥å/车é´/å·¥åº</span> </div> <!-- <el-row :gutter="20" class="select_factory"> --> <div class="select_factory_dis" @@ -390,11 +393,16 @@ <div>éç¨å·¥åï¼ </div> <div class="flex_item_dis"> <div class="flex_item" v-for="(item, index) in form.applicableTranslate" :key="index" > {{ item.factory }} - {{ item.workshop }} - {{ item.process }} {{ item }} <div v-if="item[0].factory">{{ item[0].factory }}</div> <div v-if="item[2].workshop">-</div> <div v-if="item[2].workshop">{{ item[2].workshop }}</div> <div v-if="item[1].process">-</div> <div v-if="item[1].process">{{ item[1].process }}</div> </div> </div> </div> @@ -501,7 +509,11 @@ <el-form-item label="è忥æè¿°" :prop="'holidays.' + index + '.describe'" :rules="{ required: true, message: '请è¾å ¥è忥æè¿°', trigger: 'blur' }" :rules="{ required: true, message: '请è¾å ¥è忥æè¿°', trigger: 'blur', }" > <el-input style="width: 130px" @@ -512,7 +524,11 @@ <el-form-item label="å¼å§æ¶é´" :prop="'holidays.' + index + '.startdate'" :rules="{ required: true, message: '请è¾å ¥å¼å§æ¶é´', trigger: 'blur' }" :rules="{ required: true, message: '请è¾å ¥å¼å§æ¶é´', trigger: 'blur', }" > <el-date-picker style="width: 130px" @@ -528,7 +544,11 @@ <el-form-item label="ç»ææ¶é´" :prop="'holidays.' + index + '.enddate'" :rules="{ required: true, message: '请è¾å ¥ç»ææ¶é´', trigger: 'blur' }" :rules="{ required: true, message: '请è¾å ¥ç»ææ¶é´', trigger: 'blur', }" > <el-date-picker style="width: 130px" @@ -607,6 +627,7 @@ process: "", }, ], applicableTranslate: [{ factory: "" }, { workshop: "" }, { process: "" }], }, formHolidays: { holidays: [ @@ -903,6 +924,10 @@ async function handleAdd() { open.value = true; form.value = { type: "1", description: "", expiringDate: "", effectiveDate: "", applicable: [ { factory: "", @@ -910,7 +935,45 @@ process: "", }, ], applicableTranslate: [{ factory: "" }, { workshop: "" }, { process: "" }], }; weekDaysSettingList.value = [ { day: "Monday", chineseName: "ææä¸", work: "y", }, { day: "Tuesday", chineseName: "ææäº", work: "y", }, { day: "Wednesday", chineseName: "ææä¸", work: "y", }, { day: "Thursday", chineseName: "ææå", work: "y", }, { day: "Friday", chineseName: "ææäº", work: "y", }, { day: "Saturday", chineseName: "ææå ", work: "y", }, { day: "Sunday", chineseName: "æææ¥", work: "y", }, ]; title.value = "æ·»å æ¥å管ç"; } /** 鿩工ååäºä»¶ å è½½è½¦é´ å å·¥åº **/ @@ -925,7 +988,7 @@ } function changeWorkshop(workShop) { console.log(workShop.split(";")[0]); listByWorkShop({ workShop: "æ°æ" }).then((res) => { listByWorkShop({ workShop: workShop.split(";")[0] }).then((res) => { console.log(res, "workShop"); processList.value = res.rows; }); @@ -942,26 +1005,40 @@ /** ä¿®æ¹æé®æä½ */ function handleUpdate(row) { const _id = row.id || ids.value; open.value = true; title.value = "ä¿®æ¹æ¥å管ç"; getCalendar(_id).then((response) => { form.value = response.data; // form.value.content = JSON.parse(response.data.content.value); if (form.value.type === "1") { weekDaysSettingList.value = JSON.parse( response.data.content.value ).weekdays; } else if (form.value.type === "2") { holidays.value = JSON.parse(response.data.content.value).holidays; } applicableSettingList.value = JSON.parse(response.data.applicableTranslate); console.log(response.data, "response.data"); form.value.content = JSON.parse(response.data.content.value); weekDaysSettingList.value = response.data.content.weekdays; open.value = true; title.value = "ä¿®æ¹æ¥å管ç"; // else if (form.value.type === "2") { // holidays.value = JSON.parse(response.data.content.value).holidays; // } }); } // 设置è忥 function handleSetHolidays(row) { let applicableTranslateArr = JSON.parse(row.applicableTranslate).map( (item) => { return Object.keys(item).map((n) => { console.log(item); let arrObj = {}; if (item[n] && item[n].indexOf(";") > 0) { arrObj[n] = item[n].split(";")[1]; } else { arrObj[n] = item[n]; } return arrObj; }); } ); console.log(applicableTranslateArr, "applicableTranslateArr"); form.value = { ...row, applicableTranslate: JSON.parse(row.applicableTranslate), applicableTranslate: applicableTranslateArr, }; if (!row.holidays) { formHolidays.value = { @@ -976,7 +1053,7 @@ } else { formHolidays.value.holidays = JSON.parse(row.holidays.value); } console.log(formHolidays.value.holidays, "formHolidays.value"); // console.log(formHolidays.value.holidays, "formHolidays.value"); openSetHolidays.value = true; } // ç¦ç¨æ¥æ @@ -1035,26 +1112,19 @@ // } // }); // }; function checkFieldsEmpty(arr) { let filteredArr = arr.filter((item) => { return Object.values(item).some( (value) => value == null || value == "" || value == undefined ); }); return filteredArr; } // æäº¤è忥 function handleSaveHolidaysForm() { const hasValidDates = formHolidays.value.holidays.some( (item) => { console.log(item,"some") if(!item.describe !="" && item.startdate !="" && item.enddate!=="" ){ return true }else{ return false } console.log(hasValidDates, "hasValidDates"); } ); const hasValidDates = checkFieldsEmpty(formHolidays.value.holidays); console.log(hasValidDates, "hasValidDates"); // holidaysRef.value.validate((valid) => { // if (!valid) { // proxy.$modal.msgSuccess("å¿ å¡«é¡¹ä¸è½ä¸ºç©º"); // } //if (valid) { if (!hasValidDates) { if (hasValidDates.length == 0) { updateCalendar({ id: form.value.id, holidays: formHolidays.value.holidays.map((item) => { @@ -1066,10 +1136,49 @@ }), }).then((response) => { proxy.$modal.msgSuccess("æ°å¢æå"); open.value = false; openSetHolidays.value = false; getList(); }); } // holidaysRef.value.validate((valid) => { // if (!valid) { // proxy.$modal.msgSuccess("å¿ å¡«é¡¹ä¸è½ä¸ºç©º"); // } // if (valid) { // if (!hasValidDates) { // updateCalendar({ // id: form.value.id, // holidays: formHolidays.value.holidays.map((item) => { // return { // startdate: moment(item.startdate).format("YYYY-MM-DD"), // enddate: moment(item.enddate).format("YYYY-MM-DD"), // describe: item.describe, // }; // }), // }).then((response) => { // proxy.$modal.msgSuccess("æ°å¢æå"); // open.value = false; // getList(); // }); // } // }); //if (valid) { // if (!hasValidDates) { // updateCalendar({ // id: form.value.id, // holidays: formHolidays.value.holidays.map((item) => { // return { // startdate: moment(item.startdate).format("YYYY-MM-DD"), // enddate: moment(item.enddate).format("YYYY-MM-DD"), // describe: item.describe, // }; // }), // }).then((response) => { // proxy.$modal.msgSuccess("æ°å¢æå"); // open.value = false; // getList(); // }); // } // }); } /** æäº¤æé® */ @@ -1084,33 +1193,44 @@ return; } if (form.value.id != null) { // if (form.value.type === "1") { // updateCalendar({ // ...form.value, // content: { // weekdays: weekDaysSettingList.value, // }, // applicableWorkshop: form.value.applicableWorkshop, // applicableProcess: form.value.applicableProcess, // }).then((response) => { // proxy.$modal.msgSuccess("ä¿®æ¹æå"); // open.value = false; // getList(); // }); // } else if (form.value.type === "2") { updateCalendar({ ...form.value, // ...form.value, id: form.value.id, expiringDate: form.value.expiringDate, effectiveDate: form.value.effectiveDate, description: form.value.description, content: { holidays: holidays.value, weekdays: weekDaysSettingList.value, }, applicableWorkshop: form.value.applicableWorkshop.map((item) => { // holidays: holidays.value, applicable: applicableSettingList.value.map((item) => { return { factory: item.factory.split(";")[0], process: item.process.split(";")[0], workshop: item.workshop.split(";")[0], factory: item.factory ? item.factory.indexOf(";") > 0 ? item.factory.split(";")[0] : item.factory : "", process: item.process ? item.process.indexOf(";") > 0 ? item.process.split(";")[0] : item.process : "", workshop: item.workshop ? item.workshop.indexOf(";") > 0 ? item.workshop.split(";")[0] : item.workshop : "", }; }), applicableProcess: form.value.applicableProcess, applicableTranslate: JSON.stringify( applicableSettingList.value.map((item) => { return { factory: item.factory ? item.factory : "", process: item.process ? item.process : "", workshop: item.workshop ? item.workshop : "", }; }) ), type: "1", }).then((response) => { proxy.$modal.msgSuccess("ä¿®æ¹æå"); @@ -1119,18 +1239,6 @@ }); // } } else { // if (form.value.type === "1") { // addCalendar({ // ...form.value, // content: { // weekdays: weekDaysSettingList.value, // }, // }).then((response) => { // proxy.$modal.msgSuccess("æ°å¢æå"); // open.value = false; // getList(); // }); // } else if (form.value.type === "2") { addCalendar({ ...form.value, content: { @@ -1139,17 +1247,29 @@ // holidays: holidays.value, applicable: applicableSettingList.value.map((item) => { return { factory: item.factory.split(";")[0], process: item.process.split(";")[0], workshop: item.workshop.split(";")[0], factory: item.factory ? item.factory.indexOf(";") > 0 ? item.factory.split(";")[0] : item.factory : "", process: item.process ? item.process.indexOf(";") > 0 ? item.process.split(";")[0] : item.process : "", workshop: item.workshop ? item.workshop.indexOf(";") > 0 ? item.workshop.split(";")[0] : item.workshop : "", }; }), applicableTranslate: JSON.stringify( applicableSettingList.value.map((item) => { return { factory: item.factory.split(";")[1], process: item.process.split(";")[1], workshop: item.workshop.split(";")[1], factory: item.factory ? item.factory : "", process: item.process ? item.process : "", workshop: item.workshop ? item.workshop : "", }; }) ), @@ -1314,6 +1434,10 @@ margin-left: 120px; } } .error_require { color: #f56c6c; margin-right: 5px; } .grey_bg { background: #f1f1f1; width: 100%; @@ -1336,10 +1460,6 @@ font-weight: 600; margin-left: 20px; margin-right: 10px; .error_require { color: #f56c6c; margin-right: 5px; } } .flex_item_dis { display: flex; src/views/demand/planManage/index.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1494 @@ <template> <div class="app-container"> <el-form class="responsive-form" :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px" label-position="left" > <el-row type="flex" justify="left" :gutter="20"> <el-col :span="5"> <el-form-item label="计ååç§°" prop="description"> <el-input style="width: 140px" v-model="queryParams.description" placeholder="请è¾å ¥æè¿°å ³é®è¯" clearable @keyup.enter="handleQuery" /> </el-form-item> </el-col> <el-col :span="19" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery" >æ¥è¯¢</el-button > <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-col> </el-row> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['aps:calendar:add']" >æ°å¢</el-button > </el-col> <el-col :span="1.5"> <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate" v-hasPermi="['aps:calendar:update']" >ä¿®æ¹</el-button > </el-col> <el-col :span="1.5"> <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['aps:calendar:remove']" >å é¤</el-button > </el-col> <!-- <el-col :span="1.5"> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['core:calendar:export']" >导åº</el-button > </el-col> --> <right-toolbar v-model:showSearch="showSearch" @queryTable="getList" ></right-toolbar> </el-row> <HxlhTable style="width: 100%" :columns="columns" :data="calendarList" :loading="loading" :height="height" ref="tableRef" :page="page" @changePageNo="changePageNo" @changePageSize="changePageSize" @on-checkbox="handleCheckboxChange" class="auto-height-grid" > <template #status="{ row }"> <vxe-tag v-if="row.type === '1'" status="primary">å¨å·¥ä½</vxe-tag> <vxe-tag v-if="row.type === '2'" status="success">è忥</vxe-tag> </template> <template #mark="{ row }"> <div v-if="row.type === '1'"> <span v-for="(item, index) in JSON.parse(row.content.value).weekdays" :key="index" > <span v-if="item.work === 'y'" status="success" class="mart5" >{{ item.chineseName }}: 工使¥; </span > <span v-if="item.work === 'n'" status="info" class="mart5" >{{ item.chineseName }}: é工使¥; </span > </span> <!-- <div v-for="(item, index) in JSON.parse(row.content.value).weekdays" :key="index"> <vxe-tag v-if="item.work==='y'" status="success" class="mart5">{{item.chineseName}}: 工使¥; </vxe-tag> <vxe-tag v-if="item.work==='n'" status="info" class="mart5">{{item.chineseName}}: é工使¥; </vxe-tag> </div> --> </div> <div v-if="row.type === '2'"> <div> {{ JSON.parse(row.content.value).holidays.startdate }}è³{{ JSON.parse(row.content.value).holidays.enddate }} </div> </div> </template> <template #buttons="{ row }"> <el-button type="primary" size="small" @click="handleUpdate(row)" v-hasPermi="['aps:calendar:update']" >ä¿®æ¹</el-button > <el-button type="default" size="small" @click="handleSetHolidays(row)" v-hasPermi="['aps:calendar:remove']" >计å卿</el-button > <el-button type="success" size="small" @click="handleSetHolidays(row)" v-hasPermi="['aps:calendar:remove']" >çæè®¡å</el-button > <el-button type="danger" size="small" @click="handleDelete(row)" v-hasPermi="['aps:calendar:remove']" >å é¤</el-button > </template> </HxlhTable> <!-- æ·»å æä¿®æ¹æ¥å管çå¯¹è¯æ¡ --> <el-dialog :title="title" v-model="open" width="80%" append-to-body> <el-form ref="calendarRef" :model="form" :rules="rules" label-width="105px" > <el-form-item label="æ¥åæè¿°" prop="description"> <el-input v-model="form.description" placeholder="请è¾å ¥æè¿°" /> </el-form-item> <el-form-item label="æ¥åç±»å" prop="type"> <!-- <el-radio-group v-model="form.type" @change="handleSwitchType"> <el-radio :label="'1'">å¨å·¥ä½</el-radio> <el-radio :label="'2'">è忥</el-radio> </el-radio-group> --> <el-tag type="primary">å¨å·¥ä½</el-tag> </el-form-item> <el-form-item label="çææ¶é´" prop="effectiveDate"> <el-date-picker clearable v-model="form.effectiveDate" type="date" value-format="YYYY-MM-DD" placeholder="éæ©æ¥æ" > </el-date-picker> </el-form-item> <el-form-item label="å¤±ææ¶é´" prop="expiringDate"> <el-date-picker clearable v-model="form.expiringDate" type="date" value-format="YYYY-MM-DD" placeholder="éæ©æ¥æ" > </el-date-picker> </el-form-item> <div> <div class="title_bar_line"> <div class="line_short"></div> <div>å¨å·¥ä½è®¾ç½®</div> <div class="line_long"></div> </div> <div class="week_flex" v-for="(item, index) in weekDaysSettingList" :key="index" > <div class="week_flex_item">{{ item.chineseName }}</div> <div class="week_flex_item"> <el-radio-group v-model="item.work"> <el-radio :label="'y'">工使¥</el-radio> <el-radio :label="'n'">é工使¥</el-radio> </el-radio-group> </div> </div> </div> <div v-if="form.type === '2'"> <div class="title_bar_line"> <div class="line_short"></div> <div>èåæ¥è®¾ç½®</div> <div class="line_long"></div> </div> <div class="week_flex mt20"> <div class="week_flex_item">èæ¥å¼å§æ¶é´</div> <div class="week_flex_item"> <el-date-picker clearable v-model="holidays.startdate" type="date" value-format="YYYY-MM-DD" placeholder="éæ©æ¥æ" > </el-date-picker> </div> </div> <div class="week_flex mt20"> <div class="week_flex_item">èæ¥ç»ææ¶é´</div> <div class="week_flex_item"> <el-date-picker clearable v-model="holidays.enddate" type="date" value-format="YYYY-MM-DD" placeholder="éæ©æ¥æ" > </el-date-picker> </div> </div> </div> <!-- <el-form-item label="éç¨å·¥å" prop="applicableFactory" class="factory_use_item" > --> <div class="select_factory select_factory_dis"> <span class="error_require">*</span> <span>éç¨å·¥å/车é´/å·¥åº</span> </div> <!-- <el-row :gutter="20" class="select_factory"> --> <div class="select_factory_dis" v-for="(item, index) in applicableSettingList" :key="index" > <!-- <el-col :span="7"> --> <el-select class="select_content" clearable v-model="item.factory" style="width: 160px" placeholder="请è¾å ¥éç¨å·¥å" @change="changePlant($event)" > <el-option v-for="plant in aps_factory" :key="plant.value" :label="plant.label" :value="`${plant.value};${plant.label}`" > </el-option> </el-select> <!-- </el-col> <el-col :span="7"> --> <el-select class="select_content" clearable v-model="item.workshop" style="width: 160px" placeholder="请è¾å ¥éç¨è½¦é´" @change="changeWorkshop($event)" > <el-option v-for="shop in shopList" :key="shop.id" :label="shop.shopName" :value="`${shop.id};${shop.shopName}`" > </el-option> </el-select> <!-- </el-col> <el-col :span="7"> --> <el-select class="select_content" clearable v-model="item.process" style="width: 160px" placeholder="请è¾å ¥éç¨å·¥åº" > <el-option v-for="process in processList" :key="process.processNumber" :label="process.processName" :value="`${process.processNumber};${process.processName}`" > </el-option> </el-select> <!-- </el-col> <el-col :span="3"> --> <el-button class="select_content" type="primary" icon="Plus" @click="handleAddFactory(item)" circle size="small" /> <el-button v-if="applicableSettingList.length > 1" class="select_content" type="primary" icon="Minus" @click="handleMinusFactory(item)" circle size="small" /> <!-- </el-col> --> </div> <!-- </el-row> --> <!-- </el-form-item> --> <!-- <el-form-item label="éç¨è½¦é´" prop="applicableWorkshop" class="factory_use_item" > </el-form-item> <el-form-item label="éç¨å·¥åº" prop="applicableProcess" class="factory_use_item" > </el-form-item> --> </el-form> <template #footer> <div class="dialog-footer"> <el-button @click="cancel">å æ¶</el-button> <el-button type="primary" @click="submitForm">ä¿å</el-button> </div> </template> </el-dialog> <el-dialog title="设置è忥" v-model="openSetHolidays" width="80%" style="height: 570px" append-to-body > <div class="height_dialog"> <div class="height_dialog_scroll"> <div class="grey_bg"> <div v-if="expand"> <div class="flex_item"> <div>工使¥åï¼ </div> <div>{{ form.description }}</div> </div> <div class="flex_item"> <div>çææ¶é´ï¼ </div> <div>{{ form.effectiveDate }}</div> </div> <div class="flex_item"> <div>å¤±ææ¶é´ï¼ </div> <div>{{ form.expiringDate }}</div> </div> <div class="flex_item"> <div>éç¨å·¥åï¼ </div> <div class="flex_item_dis"> <div class="flex_item" v-for="(item, index) in form.applicableTranslate" :key="index" > {{ item }} <div v-if="item[0].factory">{{ item[0].factory }}</div> <div v-if="item[2].workshop">-</div> <div v-if="item[2].workshop">{{ item[2].workshop }}</div> <div v-if="item[1].process">-</div> <div v-if="item[1].process">{{ item[1].process }}</div> </div> </div> </div> </div> <div class="flex_item_expand_end" @click="handleToggleExpand"> <el-icon :size="18" v-if="expand"><ArrowUpBold /></el-icon> <el-icon v-else><ArrowDownBold /></el-icon> </div> </div> <div class="title_flex"> <div class="holiday_title">è忥å表</div> <el-button type="primary" size="small" @click="hanldeAddHolidays" >æ·»å è忥</el-button > </div> <div class="grey_bg"> <div class="flex_holidays_set" v-for="(item, index) in formHolidays.holidays" :key="index" > <div class="dis_error_wrap"> <div class="flex_item"> <div class="flex_item_title"> <span class="error_require">*</span><span>è忥æè¿°</span> </div> <div> <el-input style="width: 130px" v-model="item.describe" placeholder="请è¾å ¥æè¿°" /> </div> </div> <div class="error_text" v-if="item.describe == ''"> 请è¾å ¥è忥æè¿° </div> </div> <div class="dis_error_wrap"> <div class="flex_item"> <div class="flex_item_title"> <span class="error_require">*</span><span>å¼å§æ¶é´</span> </div> <div> <el-date-picker style="width: 130px" clearable v-model="item.startdate" type="date" :disabled-date="handleDisabledDate" :default-value="form.effectiveDate" placeholder="éæ©æ¥æ" > </el-date-picker> </div> </div> <div class="error_text" v-if="item.startdate == ''"> 请è¾å ¥å¼å§æ¶é´ </div> </div> <div class="dis_error_wrap"> <div class="flex_item"> <div class="flex_item_title"> <span class="error_require">*</span><span>ç»ææ¶é´</span> </div> <div> <el-date-picker style="width: 130px" clearable v-model="item.enddate" type="date" :disabled-date="handleDisabledDate" :default-value="form.expiringDate" placeholder="éæ©æ¥æ" > </el-date-picker> </div> </div> <div class="error_text" v-if="item.enddate == ''"> 请è¾å ¥ç»ææ¶é´ </div> </div> <div class="dis_error_wrap"> <div class="flex_item"> <el-button v-if="formHolidays.length > 1" type="danger" size="small" @click="handleDelSettingHolidays(item)" >å é¤</el-button > </div> </div> </div> <!-- <el-form class="mart10" ref="holidaysRef" :model="item" :rules="holidayRules" :inline="true" label-width="105px" > <div v-for="(item, index) in formHolidays.holidays" :key="index"> <el-form-item label="è忥æè¿°" :prop="'holidays.' + index + '.describe'" :rules="{ required: true, message: '请è¾å ¥è忥æè¿°', trigger: 'blur', }" > <el-input style="width: 130px" v-model="item.describe" placeholder="请è¾å ¥æè¿°" /> </el-form-item> <el-form-item label="å¼å§æ¶é´" :prop="'holidays.' + index + '.startdate'" :rules="{ required: true, message: '请è¾å ¥å¼å§æ¶é´', trigger: 'blur', }" > <el-date-picker style="width: 130px" clearable v-model="item.startdate" type="date" :disabled-date="handleDisabledDate" :default-value="form.effectiveDate" placeholder="éæ©æ¥æ" > </el-date-picker> </el-form-item> <el-form-item label="ç»ææ¶é´" :prop="'holidays.' + index + '.enddate'" :rules="{ required: true, message: '请è¾å ¥ç»ææ¶é´', trigger: 'blur', }" > <el-date-picker style="width: 130px" clearable v-model="item.enddate" type="date" placeholder="éæ©æ¥æ" :disabled-date="handleDisabledDate" :default-value="form.expiringDate" > </el-date-picker> </el-form-item> <el-form-item label="" prop=""> <el-button v-if="formHolidays.length > 1" type="danger" size="small" @click="handleDelSettingHolidays(item)" >å é¤</el-button > </el-form-item> </div> </el-form> --> </div> </div> </div> <template #footer> <div class="dialog-footer"> <el-button @click="openSetHolidays = false">å æ¶</el-button> <el-button type="primary" @click="handleSaveHolidaysForm" >ä¿å</el-button > </div> </template> </el-dialog> </div> </template> <script setup name="Calendar"> import moment from "moment"; import HxlhTable from "@/components/HxlhTable"; import { listCalendar, getCalendar, delCalendar, addCalendar, updateCalendar, } from "@/api/basicData/calendar"; import axios from "axios"; import { listAll_plant, listByWorkShop } from "@/api/basicData/plant"; import { listAll_shop, listAps_shop } from "@/api/basicData/shop"; import { selectProcessNameList } from "@/api/basicData/processRoute.js"; import { ElMessage } from "element-plus"; const { proxy } = getCurrentInstance(); const holidaysRef = ref(null); const { aps_factory } = proxy.useDict("aps_factory"); const tableRef = ref(); const calendarList = ref([]); const open = ref(false); const openSetHolidays = ref(false); const expand = ref(true); const loading = ref(true); const showSearch = ref(true); const ids = ref([]); const single = ref(true); const multiple = ref(true); const total = ref(0); const title = ref(""); const data = reactive({ form: { type: "1", applicable: [ { factory: "", workshop: "", process: "", }, ], applicableTranslate: [{ factory: "" }, { workshop: "" }, { process: "" }], }, formHolidays: { holidays: [ { enddate: "", startdate: "", describe: "", }, ], }, queryParams: { pageNum: 1, pageSize: 10, description: null, plant: null, type: null, effectiveDate: null, expiringDate: null, content: null, applicableFactory: null, applicableWorkshop: null, applicableProcess: null, }, rules: { description: [ { required: true, message: "请è¾å ¥æ¥åæè¿°", trigger: "blur", }, ], // type: [ // { // required: true, // message: "è¯·éæ©æ¥åç±»å", // trigger: "blur", // }, // ], effectiveDate: [ { required: true, message: "è¯·éæ©æ¥åçææ¶é´", trigger: "blur", }, ], expiringDate: [ { required: true, message: "è¯·éæ©æ¥åå¤±ææ¶é´", trigger: "blur", }, ], }, // holidayRules: { // describe: [ // { // required: true, // message: "请è¾å ¥è忥æè¿°", // trigger: "blur", // }, // ], // startdate: [ // { // required: true, // message: "请è¾å ¥å¼å§æ¶é´", // trigger: "blur", // }, // ], // enddate: [ // { // required: true, // message: "请è¾å ¥ç»ææ¶é´", // trigger: "blur", // }, // ], // }, }); const holidayRules = { holidays: [{ required: true, message: "è忥æ¯å¿ 填项", trigger: "blur" }], }; const { queryParams, form, rules, formHolidays } = toRefs(data); const dateType = ref("å¨å·¥ä½"); const dateTypeList = ref([ { name: "å¨å·¥ä½", label: "1", }, { name: "è忥", label: "2", }, ]); const typeRadioNumber = ref(1); const applicableSettingList = ref([ { factory: "", workshop: "", process: "", id: 0 }, ]); const weekDaysSettingList = ref([ { day: "Monday", chineseName: "ææä¸", work: "y", }, { day: "Tuesday", chineseName: "ææäº", work: "y", }, { day: "Wednesday", chineseName: "ææä¸", work: "y", }, { day: "Thursday", chineseName: "ææå", work: "y", }, { day: "Friday", chineseName: "ææäº", work: "y", }, { day: "Saturday", chineseName: "ææå ", work: "y", }, { day: "Sunday", chineseName: "æææ¥", work: "y", }, ]); const holidays = ref({ startdate: "", enddate: "", }); const plantList = ref([]); const shopList = ref([]); const allShopList = ref([]); const processList = ref([]); const height = ref(document.documentElement.clientHeight - 220 + "px;"); // è¡¨æ ¼é ç½®-å表 const columns = ref([ // { type: "checkbox", width: 60, align: "center" }, { title: "æ»å¨æ¹å¼", field: "description", width: 150, align: "center", }, { title: "计å卿", field: "type", width: 200, align: "center", slots: { default: "status" }, }, { title: "卿å¼å§æ¶é´", field: "effectiveDate", width: 200, align: "center", }, { title: "å¨æç»ææ¶é´", field: "expiringDate", width: 200, align: "center", }, { title: "计åID", field: "content", width: 230, align: "center", slots: { default: "mark" }, }, // { // title: "éç¨å·¥å", // field: "applicableFactory", // width: 200, // align: "center", // formatter: ({ cellValue, row, column }) => { // if (cellValue) { // for (let i = 0; i < plantList.value.length; i++) { // if (cellValue === plantList.value[i].plantCode) { // return plantList.value[i].plantName; // } // } // } // }, // }, // { // title: "éç¨è½¦é´", // field: "applicableWorkshop", // width: 200, // align: "center", // formatter: ({ cellValue, row, column }) => { // if (cellValue) { // for (let i = 0; i < shopList.value.length; i++) { // if (cellValue === shopList.value[i].id) { // return shopList.value[i].shopName; // } // } // } // return ""; // }, // }, // { // title: "éç¨å·¥åº", // field: "applicableProcess", // width: 200, // align: "center", // }, { title: "å建è ", field: "createBy", width: 200, align: "center", }, { title: "å建æ¶é´", field: "createTime", width: 200, align: "center", }, { title: "æ´æ°è ", field: "createBy", width: 200, align: "center", }, { title: "æ´æ°æ¶é´", field: "createTime", width: 200, align: "center", }, { title: "æä½", width: 330, fixed: "right", slots: { default: "buttons" }, align: "center", }, ]); // å页屿§ const page = ref({ total: 0, current: 1, size: 10, }); /** æ¥è¯¢æ¥å管çå表 */ function getList() { loading.value = true; listCalendar(queryParams.value).then((response) => { calendarList.value = response.rows; page.value.total = response.total; loading.value = false; }); axios .all([ /** æ¥è¯¢å·¥åå表 */ listAll_plant({}), /** æ¥è¯¢è½¦é´å表 */ listAll_shop({}), ]) .then( axios.spread((response1, response2) => { plantList.value = response1.data; shopList.value = response2.data; loading.value = false; }) ) .catch((error) => { console.error("请æ±åºé:", error); }); } // åæ¶æé® function cancel() { open.value = false; } /** æç´¢æé®æä½ */ function handleQuery() { queryParams.value.pageNum = 1; getList(); } /** éç½®æé®æä½ */ function resetQuery() { proxy.resetForm("queryRef"); handleQuery(); } // å¤éæ¡é䏿°æ® function handleSelectionChange(selection) { ids.value = selection.map((item) => item.id); single.value = selection.length != 1; multiple.value = !selection.length; } /** æ°å¢æé®æä½ */ async function handleAdd() { open.value = true; form.value = { type: "1", description: "", expiringDate: "", effectiveDate: "", applicable: [ { factory: "", workshop: "", process: "", }, ], applicableTranslate: [{ factory: "" }, { workshop: "" }, { process: "" }], }; weekDaysSettingList.value = [ { day: "Monday", chineseName: "ææä¸", work: "y", }, { day: "Tuesday", chineseName: "ææäº", work: "y", }, { day: "Wednesday", chineseName: "ææä¸", work: "y", }, { day: "Thursday", chineseName: "ææå", work: "y", }, { day: "Friday", chineseName: "ææäº", work: "y", }, { day: "Saturday", chineseName: "ææå ", work: "y", }, { day: "Sunday", chineseName: "æææ¥", work: "y", }, ]; title.value = "æ·»å æ¥å管ç"; } /** 鿩工ååäºä»¶ å è½½è½¦é´ å å·¥åº **/ function changePlant(plant) { console.log(plant); listAps_shop({ plantCode: plant.split(";")[0] }).then((response) => { shopList.value = response.rows; }); // selectProcessNameList({ orgCode: plant }).then((response) => { // processList.value = response.rows; // }); } function changeWorkshop(workShop) { console.log(workShop.split(";")[0]); listByWorkShop({ workShop: workShop.split(";")[0] }).then((res) => { console.log(res, "workShop"); processList.value = res.rows; }); } function handleAddFactory(row) { console.log(row); applicableSettingList.value.push({ ...row, id: ++row.id }); } function handleMinusFactory(row) { applicableSettingList.value = applicableSettingList.value.filter( (item, index) => item !== row ); } /** ä¿®æ¹æé®æä½ */ function handleUpdate(row) { const _id = row.id || ids.value; open.value = true; title.value = "ä¿®æ¹æ¥å管ç"; getCalendar(_id).then((response) => { form.value = response.data; applicableSettingList.value = JSON.parse(response.data.applicableTranslate); console.log(response.data, "response.data"); form.value.content = JSON.parse(response.data.content.value); weekDaysSettingList.value = response.data.content.weekdays; // else if (form.value.type === "2") { // holidays.value = JSON.parse(response.data.content.value).holidays; // } }); } // 设置è忥 function handleSetHolidays(row) { let applicableTranslateArr = JSON.parse(row.applicableTranslate).map( (item) => { return Object.keys(item).map((n) => { console.log(item); let arrObj = {}; if (item[n] && item[n].indexOf(";") > 0) { arrObj[n] = item[n].split(";")[1]; } else { arrObj[n] = item[n]; } return arrObj; }); } ); console.log(applicableTranslateArr, "applicableTranslateArr"); form.value = { ...row, applicableTranslate: applicableTranslateArr, }; if (!row.holidays) { formHolidays.value = { holidays: [ { enddate: "", startdate: "", describe: "", }, ], }; } else { formHolidays.value.holidays = JSON.parse(row.holidays.value); } // console.log(formHolidays.value.holidays, "formHolidays.value"); openSetHolidays.value = true; } // ç¦ç¨æ¥æ function handleDisabledDate(date) { const targetDate = moment(date).valueOf(); const startDate = moment(form.value.effectiveDate).valueOf(); const endDate = moment(form.value.expiringDate).valueOf(); return targetDate < startDate || targetDate > endDate; } // å é¤èåæ¥è®¾ç½® function handleDelSettingHolidays(row) { formHolidays.value.holidays = formHolidays.value.holidays.filter((item) => { return item != row; }); } // æ·»å è忥 function hanldeAddHolidays() { formHolidays.value.holidays.push({ enddate: "", startdate: "", describe: "", }); } function handleToggleExpand() { expand.value = !expand.value; } // const confirmClick = () => { // let formList = [predictionFormRef] // let resultArr = []; // let validate = (form) => { // let result = new Promise((resolve, reject) => { // form.value.validate(valid => { // if (valid) { // resolve() // } else { // reject() // } // }) // }) // resultArr.push(result) // } // formList.forEach(item => { // validate(item) // }) // Promise.all(resultArr).then(() => { // saveRule() // æ ¡éªæåä¹å ä¿åæ°æ®çæ¹æ³ // }) // } // const submitForm = () => { // formRef.value.validate((valid) => { // if (valid) { // alert('submit!'); // } else { // alert('Form is not valid.'); // return false; // } // }); // }; function checkFieldsEmpty(arr) { let filteredArr = arr.filter((item) => { return Object.values(item).some( (value) => value == null || value == "" || value == undefined ); }); return filteredArr; } // æäº¤è忥 function handleSaveHolidaysForm() { const hasValidDates = checkFieldsEmpty(formHolidays.value.holidays); console.log(hasValidDates, "hasValidDates"); if (hasValidDates.length == 0) { updateCalendar({ id: form.value.id, holidays: formHolidays.value.holidays.map((item) => { return { startdate: moment(item.startdate).format("YYYY-MM-DD"), enddate: moment(item.enddate).format("YYYY-MM-DD"), describe: item.describe, }; }), }).then((response) => { proxy.$modal.msgSuccess("æ°å¢æå"); openSetHolidays.value = false; getList(); }); } // holidaysRef.value.validate((valid) => { // if (!valid) { // proxy.$modal.msgSuccess("å¿ å¡«é¡¹ä¸è½ä¸ºç©º"); // } // if (valid) { // if (!hasValidDates) { // updateCalendar({ // id: form.value.id, // holidays: formHolidays.value.holidays.map((item) => { // return { // startdate: moment(item.startdate).format("YYYY-MM-DD"), // enddate: moment(item.enddate).format("YYYY-MM-DD"), // describe: item.describe, // }; // }), // }).then((response) => { // proxy.$modal.msgSuccess("æ°å¢æå"); // open.value = false; // getList(); // }); // } // }); //if (valid) { // if (!hasValidDates) { // updateCalendar({ // id: form.value.id, // holidays: formHolidays.value.holidays.map((item) => { // return { // startdate: moment(item.startdate).format("YYYY-MM-DD"), // enddate: moment(item.enddate).format("YYYY-MM-DD"), // describe: item.describe, // }; // }), // }).then((response) => { // proxy.$modal.msgSuccess("æ°å¢æå"); // open.value = false; // getList(); // }); // } // }); } /** æäº¤æé® */ function submitForm() { proxy.$refs["calendarRef"].validate((valid) => { if (valid) { if (applicableSettingList.value[0].factory === "") { ElMessage({ type: "error", message: "è³å°éæ©ä¸ä¸ªéç¨å·¥å", }); return; } if (form.value.id != null) { updateCalendar({ // ...form.value, id: form.value.id, expiringDate: form.value.expiringDate, effectiveDate: form.value.effectiveDate, description: form.value.description, content: { weekdays: weekDaysSettingList.value, }, // holidays: holidays.value, applicable: applicableSettingList.value.map((item) => { return { factory: item.factory ? item.factory.indexOf(";") > 0 ? item.factory.split(";")[0] : item.factory : "", process: item.process ? item.process.indexOf(";") > 0 ? item.process.split(";")[0] : item.process : "", workshop: item.workshop ? item.workshop.indexOf(";") > 0 ? item.workshop.split(";")[0] : item.workshop : "", }; }), applicableTranslate: JSON.stringify( applicableSettingList.value.map((item) => { return { factory: item.factory ? item.factory : "", process: item.process ? item.process : "", workshop: item.workshop ? item.workshop : "", }; }) ), type: "1", }).then((response) => { proxy.$modal.msgSuccess("ä¿®æ¹æå"); open.value = false; getList(); }); // } } else { addCalendar({ ...form.value, content: { weekdays: weekDaysSettingList.value, }, // holidays: holidays.value, applicable: applicableSettingList.value.map((item) => { return { factory: item.factory ? item.factory.indexOf(";") > 0 ? item.factory.split(";")[0] : item.factory : "", process: item.process ? item.process.indexOf(";") > 0 ? item.process.split(";")[0] : item.process : "", workshop: item.workshop ? item.workshop.indexOf(";") > 0 ? item.workshop.split(";")[0] : item.workshop : "", }; }), applicableTranslate: JSON.stringify( applicableSettingList.value.map((item) => { return { factory: item.factory ? item.factory : "", process: item.process ? item.process : "", workshop: item.workshop ? item.workshop : "", }; }) ), type: "1", // applicableCn: //}, }).then((response) => { proxy.$modal.msgSuccess("æ°å¢æå"); open.value = false; getList(); }); // } } } }); } /** å é¤æé®æä½ */ function handleDelete(row) { const _ids = row.id || ids.value; proxy.$modal .confirm('æ¯å¦ç¡®è®¤å 餿¥å管çç¼å·ä¸º"' + _ids + '"çæ°æ®é¡¹ï¼') .then(function () { return delCalendar(_ids); }) .then(() => { getList(); proxy.$modal.msgSuccess("å 餿å"); }) .catch(() => {}); } /** å¯¼åºæé®æä½ */ function handleExport() { proxy.download( "core/calendar/export", { ...queryParams.value, }, `calendar_${new Date().getTime()}.xlsx` ); } function handleSwitchType(e) { typeRadioNumber.value = e; form.value.type = e; form.value.effectiveDate = null; form.value.expiringDate = null; form.value.content = null; form.value.applicableFactory = null; form.value.applicableWorkshop = null; form.value.applicableProcess = null; } function changePageNo(currentPage) { queryParams.value.pageNum = currentPage; page.value.current = currentPage; getList(); } function changePageSize(pageSize) { page.value.current = 1; queryParams.value.pageNum = 1; queryParams.value.pageSize = pageSize; getList(); } // å¤éæ¡é䏿°æ® const handleCheckboxChange = (data) => { ids.value = data.records.map((item) => item.id); single.value = data.records.length !== 1; multiple.value = !data.records.length; }; onMounted(() => { getList(); }); </script> <style lang="scss" scoped> .column-with-margin { margin-right: 0px; } .title_bar_line { display: flex; justify-content: flex-start; align-items: center; color: #333; margin-bottom: 10px; .line_short { width: 5%; height: 1px; margin-right: 20px; border-top: 1px solid #ddd; } .line_long { width: 60%; height: 1px; margin-left: 20px; border-top: 1px solid #ddd; } } .week_flex { display: flex; justify-content: flex-start; align-content: center; color: #606266; font-weight: 700; margin-left: 20px; &.mt20 { margin-top: 20px; margin-left: 0 !important; } .week_flex_item { &:nth-child(1) { margin-top: 5px; } &:nth-child(2) { margin-left: 20px; } } } .factory_use_item { margin-top: 10px; } .select_factory { font-weight: 800; font-size: 14px; color: #606266; } .select_factory_dis { margin-left: 34px; } .select_content { margin-right: 10px; margin-top: 20px; // &:nth-child(1) { // margin-left:34px; // } } .mart5 { margin-top: 5px; } .custom-height { height: 200px; /* æè ä½¿ç¨ min-height */ } .auto-height-grid .xe-body .xe-body--row { height: auto; /* æè ä½¿ç¨ min-height */ } .mart10 { margin-top: 20px; } .h300 { } .height_dialog { height: 400px; overflow: hidden; .height_dialog_scroll { height: 100%; overflow: auto; } } .dis_error_wrap { .error_text { margin-left: 20px; font-size: 12px; color: #f56c6c; margin-left: 120px; } } .error_require { color: #f56c6c; margin-right: 5px; } .grey_bg { background: #f1f1f1; width: 100%; padding: 10px; box-sizing: border-box; .flex_holidays_set { display: flex; justify-content: flex-start; align-items: center; } .flex_item { display: flex; justify-content: flex-start; align-items: center; margin-top: 10px; .flex_item_title { width: 85px; color: #606266; font-size: 14px; font-weight: 600; margin-left: 20px; margin-right: 10px; } .flex_item_dis { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; & div { margin-bottom: 5px; } } } .flex_item_expand_end { display: flex; justify-content: flex-end; align-items: center; cursor: pointer; } } .title_flex { margin-top: 20px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; .holiday_title { font-size: 15px; font-weight: 500; } } </style> src/views/mainPlan/abnormalPartNumberReport/index.vue
@@ -8,11 +8,10 @@ v-show="showSearch" label-position="left" > <el-row type="flex" justify="left"> <el-col :span="locale === 'zh' ?6 : 8"> <el-form-item :label-width="locale === 'zh' ? '48px' : '100px'" :label="$t('plan.query.itemNumber')" prop="itemNum"> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.itemNumber')" prop="itemNum"> <el-input :style="{ width: locale === 'zh' ? '180px' : '210px' }" v-model="queryParams.itemNum" :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.itemNumber')}`" clearable @@ -20,14 +19,13 @@ /> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 6:10"> <el-col :span="8"> <el-form-item :label-width="locale === 'zh' ? '68px' : '160px'" :style="{ width: '100%' }" :label="$t('plan.query.workOrderNo')" prop="docNum" > <el-input :style="{ width: locale === 'zh' ? '220px' : '250px' }" v-model="queryParams.docNum" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.workOrderNo' @@ -37,7 +35,7 @@ /> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 12 : 6" style="text-align: right"> <el-col :span="8" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") src/views/mainPlan/gasPiping/index.vue
@@ -8,10 +8,9 @@ label-position="left" > <el-row :gutter="20"> <el-col :span="locale === 'zh' ? 12 : 12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.daterangePlanStartDay')"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.daterangePlanStartDay')"> <el-date-picker :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="daterangePlanStartDay" value-format="YYYY-MM-DD" type="daterange" @@ -21,10 +20,9 @@ ></el-date-picker> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 12 : 12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.daterangePlanEndDay')"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.daterangePlanEndDay')"> <el-date-picker :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="daterangePlanEndDay" value-format="YYYY-MM-DD" type="daterange" @@ -34,16 +32,13 @@ ></el-date-picker> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="locale === 'zh' ? 12 : 12"> <el-col :span="8"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :style="{ width: '100%' }" :label="$t('plan.query.documentNumber')" prop="documentNumber" > <el-input :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="queryParams.documentNumber" :placeholder="$t('plan.placeholder.documentNumber')" clearable @@ -51,10 +46,11 @@ /> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 12 : 12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.customer')" prop="customer"> </el-row> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.customer')" prop="customer"> <el-input :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="queryParams.customer" :placeholder="$t('plan.placeholder.customer')" clearable @@ -62,9 +58,7 @@ /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24" style="text-align: right"> <el-col :span="16" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") src/views/mainPlan/gasPlanning/index.vue
@@ -5,14 +5,12 @@ :model="queryParams" ref="queryRef" :inline="true" :label-width="locale === 'zh' ? '68px' : '100px'" label-position="left" > <el-row type="flex" justify="left"> <el-col :span="locale === 'zh' ? 4 : 5"> <el-form-item :label="$t('plan.query.selectMonth')" prop="description"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.selectMonth')" prop="description"> <el-date-picker :style="{ width: locale === 'zh' ? '200px' : '220px' }" clearable v-model="queryParams.date" type="month" @@ -22,7 +20,7 @@ </el-date-picker> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 20 : 19" style="text-align: right"> <el-col :span="16" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery" >{{$t("common.common.query")}}</el-button src/views/mainPlan/gasProduceStatics/index.vue
@@ -6,14 +6,13 @@ ref="queryRef" :inline="true" v-show="showSearch" :label-width="locale === 'zh' ? '68px' : '134px'" label-position="left" > <el-row type="flex" justify="left"> <el-col :span="locale === 'zh' ? 5: 7"> <el-form-item :label="$t('plan.query.statistical')"> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :label="$t('plan.query.statistical')" :style="{ width: '100%' }"> <el-select v-model="queryParams.searchType" :style="{ width: locale === 'zh' ? '120px' : '160px' }" placeholder="Select" @change="handleChangeSelectType" > @@ -26,11 +25,10 @@ </el-select> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 5: 8"> <el-form-item :label="$t('plan.query.selectDateRange')"> <el-col :span="8"> <el-form-item :label="$t('plan.query.selectDateRange')" :style="{ width: '100%' }"> <div v-if="!dayCom"> <el-date-picker :style="{ width: locale === 'zh' ? '200px' : '220px' }" v-model="queryParams.monthRange" type="monthrange" :range-separator="$t('plan.placeholder.to')" @@ -40,7 +38,6 @@ </div> <div v-else> <el-date-picker :style="{ width: locale === 'zh' ? '200px' : '220px' }" v-model="queryParams.monthDays" type="month" :placeholder="$t('plan.placeholder.selectMonth')" @@ -48,7 +45,7 @@ </div> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 14: 9" style="text-align:right;"> <el-col :span="8" style="text-align:right;"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") src/views/mainPlan/pipeProduceStatics/index.vue
@@ -6,14 +6,13 @@ ref="queryRef" :inline="true" v-show="showSearch" :label-width="locale === 'zh' ? '68px' : '134px'" label-position="left" > <el-row type="flex" justify="left"> <el-col :span="locale === 'zh' ? 5 : 7"> <el-form-item :label="$t('plan.query.statistical')"> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :label="$t('plan.query.statistical')" :style="{ width: '100%' }"> <el-select v-model="queryParams.searchType" :style="{ width: locale === 'zh' ? '120px' : '160px' }" placeholder="Select" @change="handleChangeSelectType" > @@ -26,11 +25,10 @@ </el-select> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 5 : 8"> <el-form-item :label="$t('plan.query.selectDateRange')"> <el-col :span="8"> <el-form-item :label="$t('plan.query.selectDateRange')" :style="{ width: '100%' }"> <div v-if="!dayCom"> <el-date-picker :style="{ width: locale === 'zh' ? '200px' : '220px' }" v-model="queryParams.monthRange" type="monthrange" :range-separator="$t('plan.placeholder.to')" @@ -40,7 +38,6 @@ </div> <div v-else> <el-date-picker :style="{ width: locale === 'zh' ? '200px' : '220px' }" v-model="queryParams.monthDays" type="month" :placeholder="$t('plan.placeholder.selectMonth')" @@ -48,7 +45,7 @@ </div> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 14 : 9" style="text-align: right"> <el-col :span="8" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") src/views/mainPlan/platePlan/index.vue
@@ -9,13 +9,13 @@ label-position="left" > <el-row :gutter="20"> <el-col :span="12"> <el-col :span="8"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.daterangePlanStartDay')" :style="{ width: '100%' }" > <!-- locale === 'zh' ? '220px' : '240px' --> <el-date-picker :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="daterangePlanStartDay" value-format="YYYY-MM-DD" type="daterange" @@ -25,13 +25,12 @@ ></el-date-picker> </el-form-item> </el-col> <el-col :span="12"> <el-col :span="8"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :style="{ width: '100%' }" :label="$t('plan.query.daterangePlanEndDay')" > <el-date-picker :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="daterangePlanEndDay" value-format="YYYY-MM-DD" type="daterange" @@ -41,16 +40,13 @@ ></el-date-picker> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="12"> <el-col :span="8"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :style="{ width: '100%' }" :label="$t('plan.query.documentNumber')" prop="documentNumber" > <el-input :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="queryParams.documentNumber" :placeholder="$t('plan.placeholder.documentNumber')" clearable @@ -58,10 +54,11 @@ /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.customer')" prop="customer"> </el-row> <el-row> <el-col :span="6"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.customer')" prop="customer"> <el-input :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="queryParams.customer" :placeholder="$t('plan.placeholder.customer')" clearable @@ -69,10 +66,8 @@ /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24" style="text-align: right"> <el-form-item> <el-col :span="18" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") }}</el-button> @@ -1052,6 +1047,9 @@ getList(); </script> <style lang="css" scoped> .column-with-margin { margin-right: 0px; } h4 { font-weight: bold; } src/views/mainPlan/plateProcessStat/index.vue
@@ -6,14 +6,12 @@ ref="queryRef" :inline="true" v-show="showSearch" :label-width="locale === 'zh' ? '60px' : '150px'" label-position="left" > <el-row :gutter="20"> <el-col :span="12"> <el-form-item :label="$t('plan.query.workOrderNo')" prop="num"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.workOrderNo')" prop="num"> <el-input :style="{ width: locale === 'zh' ? '180px' : '250px' }" v-model="queryParams.workOrderNo" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.workOrderNo' @@ -23,7 +21,7 @@ /> </el-form-item> </el-col> <el-col :span="12" style="text-align: right"> <el-col :span="16" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") src/views/mainPlan/sheetMetalOrderManage/index.vue
@@ -8,15 +8,14 @@ v-show="showSearch" label-position="left" > <el-row type="flex" justify="left"> <el-col :span="12"> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :label-width="locale == 'zh' ? '80px' : '160px'" :style="{ width: '100%' }" :label="$t('plan.query.workOrderNo')" prop="workOrderNo" > <el-input :style="{ width: '280px' }" v-model="queryParams.workOrderNo" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.workOrderNo' @@ -26,14 +25,13 @@ /> </el-form-item> </el-col> <el-col :span="12"> <el-col :span="8"> <el-form-item :label-width="locale == 'zh' ? '100px' : '200px'" :style="{ width: '100%' }" :label="$t('plan.query.requireTraceID')" prop="requireTrackId" > <el-input :style="{ width: '280px' }" v-model="queryParams.requireTrackId" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.requireTraceID' @@ -43,16 +41,13 @@ /> </el-form-item> </el-col> </el-row> <el-row type="flex" justify="left"> <el-col :span="12"> <el-col :span="8"> <el-form-item :label-width="locale == 'zh' ? '80px' : '160px'" :style="{ width: '100%' }" :label="$t('plan.query.itemNumber')" prop="mainPartNumber" > <el-input :style="{ width: '280px' }" v-model="queryParams.mainPartNumber" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.itemNumber' @@ -62,9 +57,11 @@ /> </el-form-item> </el-col> <el-col :span="12"> </el-row> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :label-width="locale == 'zh' ? '100px' : '200px'" :style="{ width: '100%' }" :label="$t('plan.table.delayRiskIdentification')" prop="hasDelayRisk" > @@ -80,7 +77,6 @@ <el-select clearable v-model="queryParams.hasDelayRisk" style="width: 280px" > <el-option v-for="item in delayRiskOptions" @@ -91,10 +87,8 @@ </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24" :span="16" style=" display: flex; justify-content: flex-end; src/views/mainPlan/sheetMetalRedundantReport/index.vue
@@ -8,11 +8,10 @@ v-show="showSearch" label-position="left" > <el-row type="flex" justify="left"> <el-col :span="locale === 'zh' ? 6 : 8"> <el-form-item :label-width="locale === 'zh' ? '48px' : '100px'" :label="$t('plan.query.itemNumber')" prop="itemNumber"> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.itemNumber')" prop="itemNumber"> <el-input :style="{ width: locale === 'zh' ? '180px' : '210px' }" v-model="queryParams.itemNumber" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.itemNumber' @@ -22,13 +21,13 @@ /> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 6 : 8"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.workOrderNo')" prop="documentNumber" > <el-input :style="{ width: locale === 'zh' ? '180px' : '280px' }" v-model="queryParams.documentNumber" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.workOrderNo' @@ -38,7 +37,7 @@ /> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 12 : 8" style="text-align: right"> <el-col :span="8" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") src/views/mainPlan/sheetMetalSupplyGap/index.vue
@@ -8,15 +8,14 @@ v-show="showSearch" label-position="left" > <el-row type="flex" justify="left"> <el-col :span="locale === 'zh' ?7 :9"> <el-row :gutter="20"> <el-col :span="8"> <el-form-item :label-width="locale === 'zh' ? '90px' : '130px'" :style="{ width: '100%' }" :label="$t('plan.query.requireTraceID')" prop="requireTrackId" > <el-input :style="{ width: locale === 'zh' ? '180px' : '230px' }" v-model="queryParams.requireTrackId" :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.requireTraceID')}`" clearable @@ -24,10 +23,9 @@ /> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 7: 9"> <el-form-item :label-width="locale === 'zh' ? '48px' : '100px'" :label="$t('plan.query.itemNumber')" prop="bomLineCode"> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.itemNumber')" prop="bomLineCode"> <el-input :style="{ width: locale === 'zh' ? '180px' : '210px' }" v-model="queryParams.bomLineCode" :placeholder="`${$t('common.common.placeholder')}${$t( 'plan.query.itemNumber' @@ -37,7 +35,7 @@ /> </el-form-item> </el-col> <el-col :span="locale === 'zh' ? 10:6" style="text-align: right"> <el-col :span="8" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") src/views/mainPlan/weldSeamEcharts/index.vue
@@ -7,10 +7,10 @@ </div> </el-col> --> <el-col> <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="90px"> <el-form :model="queryParams" ref="queryRef" :inline="true" label-position="left"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="ç»è®¡æ¥æ" style="width: 60%;"> <el-col :span="8"> <el-form-item label="ç»è®¡æ¥æ" :style="{ width: '100%' }"> <el-date-picker v-model="totalDay" value-format="YYYY-MM" @@ -21,8 +21,8 @@ ></el-date-picker> </el-form-item> </el-col> <el-col :span="12" style="text-align: right;"> <el-form-item> <el-col :span="16" style="text-align: right;"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> @@ -165,4 +165,9 @@ chartRef.value.innerHTML = '<div style="text-align: center;margin-top: 50px;color: #999;">ææ æ°æ®</div>'; } } </script> </script> <style scoped> .column-with-margin { margin-right: 0px; } </style> src/views/mainPlan/workOrderJobLog/index.vue
@@ -1,9 +1,9 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-position="left"> <el-row :gutter="20"> <el-col :span="6"> <el-col :span="8"> <el-form-item label="ä¸å¡ç±»å" style="width: 100%;"> <el-select v-model="queryParams.bizType" placeholder="è¯·éæ©"> <el-option @@ -16,7 +16,7 @@ </el-form-item> </el-col> <el-col :span="6"> <el-col :span="8"> <el-form-item label="è¯·æ±æ¶é´" style="width: 100%;"> <el-date-picker v-model="createTimes" @@ -40,7 +40,7 @@ </el-form-item> </el-col>--> <el-col :span="6"> <el-col :span="8"> <el-form-item label="请æ±ç»æ" prop="result"> <el-input v-model="queryParams.result" @@ -50,7 +50,9 @@ /> </el-form-item> </el-col> <el-col :span="6"> </el-row> <el-row :gutter="20"> <el-col :span="8"> <el-form-item label="ååºæ°æ®" prop="requestData"> <el-input v-model="queryParams.responseData" @@ -61,9 +63,9 @@ </el-form-item> </el-col> <el-col :span="24" :span="16" style="text-align: right;"> <el-form-item> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> @@ -326,3 +328,8 @@ getList(); </script> <style scoped> .column-with-margin { margin-right: 0px; } </style> src/views/partPlan/index.vue
@@ -8,79 +8,77 @@ label-position="left" > <el-row :gutter="20" class="mb8"> <el-col :span="12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.daterangePlanStartDay')"> <el-date-picker :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="daterangePlanStartDay" value-format="YYYY-MM-DD" type="daterange" range-separator="-" :start-placeholder="$t('plan.placeholder.startDate')" :end-placeholder="$t('plan.placeholder.endDate')" ></el-date-picker> </el-form-item> <el-col :span="8"> <el-form-item :label="$t('plan.query.daterangePlanStartDay')" :style="{ width: '100%' }" > <el-date-picker v-model="daterangePlanStartDay" value-format="YYYY-MM-DD" type="daterange" range-separator="-" :start-placeholder="$t('plan.placeholder.startDate')" :end-placeholder="$t('plan.placeholder.endDate')" ></el-date-picker> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.daterangePlanEndDay')"> <el-date-picker :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="daterangePlanEndDay" value-format="YYYY-MM-DD" type="daterange" range-separator="-" :start-placeholder="$t('plan.placeholder.startDate')" :end-placeholder="$t('plan.placeholder.endDate')" ></el-date-picker> </el-form-item> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.daterangePlanEndDay')" > <el-date-picker v-model="daterangePlanEndDay" value-format="YYYY-MM-DD" type="daterange" range-separator="-" :start-placeholder="$t('plan.placeholder.startDate')" :end-placeholder="$t('plan.placeholder.endDate')" ></el-date-picker> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :label="$t('plan.query.documentNumber')" :style="{ width: '100%' }" prop="documentNumber" > <el-input v-model="queryParams.documentNumber" :placeholder="$t('plan.placeholder.documentNumber')" clearable style="width: 240px" @keyup.enter="handleQuery" /> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.documentNumber')" prop="documentNumber" > <el-input :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="queryParams.documentNumber" :placeholder="$t('plan.placeholder.documentNumber')" clearable style="width: 240px" @keyup.enter="handleQuery" /> </el-form-item> <el-col :span="8"> <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.customer')" prop="customer" > <el-input v-model="queryParams.customer" :placeholder="$t('plan.placeholder.customer')" clearable @keyup.enter="handleQuery" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label-width="locale === 'zh' ? '90px' : '140px'" :label="$t('plan.query.customer')" prop="customer"> <el-input :style="{ width: locale === 'zh' ? '220px' : '240px' }" v-model="queryParams.customer" :placeholder="$t('plan.placeholder.customer')" clearable @keyup.enter="handleQuery" /> </el-form-item> <el-col :span="16" style="text-align: right"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") }}</el-button> <el-button icon="Refresh" @click="resetQuery">{{ $t("common.common.reset") }}</el-button> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24" style="text-align: right;"> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery">{{ $t("common.common.query") }}</el-button> <el-button icon="Refresh" @click="resetQuery">{{ $t("common.common.reset") }}</el-button> </el-form-item> </el-col> </el-row> </el-form> @@ -253,7 +251,7 @@ <el-row v-show="isVisible"> <el-col> <div> <h2>{{$t("plan.upload.dataPreview")}}</h2> <h2>{{ $t("plan.upload.dataPreview") }}</h2> </div> <HxlhTable style="width: 100%" @@ -268,8 +266,9 @@ <el-col> <div style="text-align: right"> <h4> {{$t("plan.upload.totalUpload")}}<span style="color: blue">{{ total }}</span >{{$t("plan.upload.itemUpload")}} {{ $t("plan.upload.totalUpload") }}<span style="color: blue">{{ total }}</span >{{ $t("plan.upload.itemUpload") }} </h4> </div> </el-col> @@ -284,9 +283,11 @@ :disabled="planned" @click="uploadParse" v-hasPermi="['partPlan:confirmPart']" >{{$t("plan.upload.confirmUpload")}}</el-button >{{ $t("plan.upload.confirmUpload") }}</el-button > <el-button @click="dialogCancel">{{$t("plan.upload.cancel")}}</el-button> <el-button @click="dialogCancel">{{ $t("plan.upload.cancel") }}</el-button> </div> </template> </el-dialog> @@ -837,10 +838,11 @@ response.msg + "</div>", t("plan.upload.errorResult"), { dangerouslyUseHTMLString: true, { dangerouslyUseHTMLString: true, confirmButtonText: t("plan.btns.confirm"), cancelButtonText: t("plan.btns.cancel"), } } ); } proxy.$refs["uploadRef"].handleRemove(file);