|
@@ -11,10 +11,10 @@
|
|
v-model:page="page"
|
|
v-model:page="page"
|
|
/>
|
|
/>
|
|
<CommonTable
|
|
<CommonTable
|
|
- ref="userRef"
|
|
|
|
- tableTitle="操作人选择"
|
|
|
|
- tableType="USERS"
|
|
|
|
- @selected-sure="onUserSelectedFinish"
|
|
|
|
|
|
+ ref="userRef"
|
|
|
|
+ tableTitle="操作人选择"
|
|
|
|
+ tableType="USERS"
|
|
|
|
+ @selected-sure="onUserSelectedFinish"
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -23,7 +23,11 @@ import { ref, getCurrentInstance } from "vue";
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
import dictDataUtil from "@/common/configs/dictDataUtil";
|
|
import dictDataUtil from "@/common/configs/dictDataUtil";
|
|
import ButtonPermKeys from "@/common/configs/buttonPermission";
|
|
import ButtonPermKeys from "@/common/configs/buttonPermission";
|
|
-import {useCommonStoreHook, useDictionaryStore, useUserStoreHook} from "@/store";
|
|
|
|
|
|
+import {
|
|
|
|
+ useCommonStoreHook,
|
|
|
|
+ useDictionaryStore,
|
|
|
|
+ useUserStoreHook,
|
|
|
|
+} from "@/store";
|
|
|
|
|
|
// 数据字典相关
|
|
// 数据字典相关
|
|
const { dicts } = useDictionaryStore();
|
|
const { dicts } = useDictionaryStore();
|
|
@@ -43,26 +47,25 @@ const {
|
|
} = useCrud({
|
|
} = useCrud({
|
|
src: "/api/v1/process/info",
|
|
src: "/api/v1/process/info",
|
|
});
|
|
});
|
|
-const { dataList,createRow, updateRow, deleteRow, searchChange, resetChange } =
|
|
|
|
|
|
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
|
|
Methords; //增删改查
|
|
Methords; //增删改查
|
|
const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
|
|
const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
|
|
const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
|
|
const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
|
|
-const onUserSelectedFinish = (selectedValue)=>{
|
|
|
|
|
|
+const onUserSelectedFinish = (selectedValue) => {
|
|
form.value.operator = selectedValue.userName;
|
|
form.value.operator = selectedValue.userName;
|
|
-}
|
|
|
|
|
|
+};
|
|
const crudRef = ref(null); //crudRef.value 获取avue-crud对象
|
|
const crudRef = ref(null); //crudRef.value 获取avue-crud对象
|
|
const userRef = ref(null);
|
|
const userRef = ref(null);
|
|
const refreshTra = (row) => {
|
|
const refreshTra = (row) => {
|
|
commonConfig.value.params = { seqNo: row.seqNo };
|
|
commonConfig.value.params = { seqNo: row.seqNo };
|
|
- dataList();
|
|
|
|
|
|
+ dataList();
|
|
};
|
|
};
|
|
defineExpose({ refreshTra });
|
|
defineExpose({ refreshTra });
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
- if(userStore.user.userId===10000){
|
|
|
|
- option.value.menu=true;
|
|
|
|
- option.value.editBtn=true;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+ if (userStore.user.userId === 10000) {
|
|
|
|
+ option.value.menu = true;
|
|
|
|
+ option.value.editBtn = true;
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
option.value = Object.assign(option.value, {
|
|
option.value = Object.assign(option.value, {
|
|
@@ -74,30 +77,30 @@ option.value = Object.assign(option.value, {
|
|
align: "center",
|
|
align: "center",
|
|
labelWidth: 100,
|
|
labelWidth: 100,
|
|
addBtn: false,
|
|
addBtn: false,
|
|
- delBtn:false,
|
|
|
|
- menuWidth:100,
|
|
|
|
- editBtn: false,
|
|
|
|
- viewBtn:false,
|
|
|
|
- menu:false,
|
|
|
|
|
|
+ delBtn: false,
|
|
|
|
+ menuWidth: 100,
|
|
|
|
+ editBtn: false,
|
|
|
|
+ viewBtn: false,
|
|
|
|
+ menu: false,
|
|
header: false,
|
|
header: false,
|
|
column: [
|
|
column: [
|
|
{
|
|
{
|
|
label: "生产过程id",
|
|
label: "生产过程id",
|
|
prop: "id",
|
|
prop: "id",
|
|
- display : false,
|
|
|
|
- hide:true,
|
|
|
|
- width:120,
|
|
|
|
|
|
+ display: false,
|
|
|
|
+ hide: true,
|
|
|
|
+ width: 120,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "工序名称",
|
|
label: "工序名称",
|
|
prop: "operationName",
|
|
prop: "operationName",
|
|
- editDisplay : false,
|
|
|
|
- width:120,
|
|
|
|
|
|
+ editDisplay: false,
|
|
|
|
+ width: 120,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "工段",
|
|
label: "工段",
|
|
prop: "workSection",
|
|
prop: "workSection",
|
|
- editDisplay : false,
|
|
|
|
|
|
+ editDisplay: false,
|
|
type: "select",
|
|
type: "select",
|
|
dicData: dicts.workshop_section,
|
|
dicData: dicts.workshop_section,
|
|
props: {
|
|
props: {
|
|
@@ -107,7 +110,7 @@ option.value = Object.assign(option.value, {
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "状态",
|
|
label: "状态",
|
|
- editDisplay : false,
|
|
|
|
|
|
+ editDisplay: false,
|
|
prop: "currentState",
|
|
prop: "currentState",
|
|
search: false,
|
|
search: false,
|
|
dicData: dicts.process_state,
|
|
dicData: dicts.process_state,
|
|
@@ -120,43 +123,89 @@ option.value = Object.assign(option.value, {
|
|
label: "开始时间",
|
|
label: "开始时间",
|
|
prop: "realStartWhen",
|
|
prop: "realStartWhen",
|
|
search: false,
|
|
search: false,
|
|
- format: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
- valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
- width:160,
|
|
|
|
- type:"datetime",
|
|
|
|
|
|
+ format: "YYYY-MM-DD HH:mm:ss",
|
|
|
|
+ valueFormat: "YYYY-MM-DD HH:mm:ss",
|
|
|
|
+ width: 160,
|
|
|
|
+ type: "datetime",
|
|
|
|
+ rules: [
|
|
|
|
+ {
|
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
|
+ if (value == null || form.value.realEndWhen == null) {
|
|
|
|
+ callback();
|
|
|
|
+ } else if (
|
|
|
|
+ new Date(value).getTime() <=
|
|
|
|
+ new Date(form.value.realEndWhen).getTime()
|
|
|
|
+ ) {
|
|
|
|
+ callback();
|
|
|
|
+ } else {
|
|
|
|
+ callback(new Error("开始时间应小于等于结束时间"));
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ message: "开始时间应小于等于结束时间",
|
|
|
|
+ required: true,
|
|
|
|
+ trigger: "change",
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "结束时间",
|
|
label: "结束时间",
|
|
prop: "realEndWhen",
|
|
prop: "realEndWhen",
|
|
- search: false,
|
|
|
|
- format: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
- valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
- width:160,
|
|
|
|
- type:"datetime",
|
|
|
|
|
|
+ format: "YYYY-MM-DD HH:mm:ss",
|
|
|
|
+ valueFormat: "YYYY-MM-DD HH:mm:ss",
|
|
|
|
+ width: 160,
|
|
|
|
+ type: "datetime",
|
|
|
|
+ rules: [
|
|
|
|
+ {
|
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
|
+ if (value == null || form.value.realStartWhen == null) {
|
|
|
|
+ callback();
|
|
|
|
+ } else if (
|
|
|
|
+ new Date(value).getTime() >=
|
|
|
|
+ new Date(form.value.realStartWhen).getTime()
|
|
|
|
+ ) {
|
|
|
|
+ callback();
|
|
|
|
+ } else {
|
|
|
|
+ callback(new Error("\结束时间应大于等于结束时间"));
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ required: true,
|
|
|
|
+ message: "结束时间应大于等于开始时间",
|
|
|
|
+ trigger: "change",
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "操作人",
|
|
label: "操作人",
|
|
prop: "operator",
|
|
prop: "operator",
|
|
search: false,
|
|
search: false,
|
|
- width:100,
|
|
|
|
- overHidden:true,
|
|
|
|
|
|
+ width: 100,
|
|
|
|
+ overHidden: true,
|
|
click: ({ value, column }) => {
|
|
click: ({ value, column }) => {
|
|
userRef.value.startSelect();
|
|
userRef.value.startSelect();
|
|
},
|
|
},
|
|
-
|
|
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "工时(秒)",
|
|
label: "工时(秒)",
|
|
prop: "totalTime",
|
|
prop: "totalTime",
|
|
- editDisplay : false,
|
|
|
|
|
|
+ editDisplay: false,
|
|
search: false,
|
|
search: false,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "工步",
|
|
label: "工步",
|
|
prop: "operationSort",
|
|
prop: "operationSort",
|
|
- editDisplay : false,
|
|
|
|
|
|
+ editDisplay: false,
|
|
search: false,
|
|
search: false,
|
|
},
|
|
},
|
|
],
|
|
],
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+// const validateTimeEnd = (rule, value, callback) => {
|
|
|
|
+// if (value === "") {
|
|
|
|
+// callback(new Error("Please input the password again"));
|
|
|
|
+// } else if (value !== ruleForm.pass) {
|
|
|
|
+// callback(new Error("Two inputs don't match!"));
|
|
|
|
+// } else {
|
|
|
|
+// callback();
|
|
|
|
+// }
|
|
|
|
+// };
|
|
</script>
|
|
</script>
|