Jelajahi Sumber

feat: 能耗药耗页面调整,任务管理详情页面支持派单

ZhaoJun 1 tahun lalu
induk
melakukan
bd2ea3742a

+ 0 - 1
src/global.less

@@ -116,7 +116,6 @@ body {
   }
 
   .ant-modal-root .ant-modal-mask {
-    border-radius: 0.5rem;
     background-color: rgba(0, 0, 0, 0.2);
   }
 

+ 32 - 2
src/pages/Home/ChemCostComparison.js

@@ -15,6 +15,15 @@ import styles from './manage.less';
 
 const { TabPane } = Tabs;
 
+const referencePriceTable = {
+  阻垢剂: '30.088元',
+  盐酸: '0.531元',
+  非氧化杀菌剂: '26.549元',
+  次氯酸钠: '1.001元',
+  氢氧化纳: '1.527元',
+  还原剂: '4.956元',
+};
+
 const typeParams = [
   {
     // 计划吨水药耗
@@ -84,6 +93,9 @@ const CostComparison = (props) => {
     // 大于100,保留一位
     // 大于1000,不保留
     let fixed = 0;
+    if (maxValue === 0) {
+      return 2;
+    }
     if (maxValue === 0) return fixed;
     if (maxValue < 1) {
       //maxValue + 1 防止maxValue过小自动转科学计数法
@@ -130,7 +142,6 @@ const CostComparison = (props) => {
         .map((item) => item.value)
         .reduce((a, b) => Math.max(a, b));
       const chemPerCostFixed = getFixed(chemPerCostMaxValue);
-      console.log(chemPerCostFixed);
       chemPerCost.dataList = [
         {
           type: 0,
@@ -257,12 +268,28 @@ const CostComparison = (props) => {
           className={`password-eye ${open ? 'open' : ''}`}
         ></div>
       </PageTitle>
-
+      <div className={styles.curEnergyCost}>
+        <div className={styles.item}>
+          <div className={styles.value}>
+            {open ? topValues.chemPer : '***'}
+            <span className={styles.unit}>kg/t</span>
+          </div>
+          <div className={styles.name}>近一天吨水药耗</div>
+        </div>
+        <div className={styles.item}>
+          <div className={styles.value}>
+            {open ? topValues.chemUser : '***'}
+            <span className={styles.unit}>kg</span>
+          </div>
+          <div className={styles.name}>近一天药量</div>
+        </div>
+      </div>
       <div className="card-box" style={{ padding: '0.2rem' }}>
         {/* 使用Tabs来展示所有药的标签 */}
         <div className="tabs">
           {chemList?.map((item) => (
             <div
+              key={item}
               onClick={() => {
                 setCurrentChem(item);
                 handleChemChange(item);
@@ -275,6 +302,9 @@ const CostComparison = (props) => {
         </div>
         <div className={styles.curEnergyCost}>
           <div className={styles.item}>
+            <div style={{ fontSize: '0.18rem', color: 'gray' }}>
+              药剂参考价格:{referencePriceTable[`${currentChem}`]}
+            </div>
             <div className={styles.value}>
               {open ? topValues.chemPer : '***'}
               <span className={styles.unit}>kg/t</span>

+ 1 - 1
src/pages/Home/manage.less

@@ -61,7 +61,7 @@
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
-  margin: 0.4rem 0.4rem 0 0.4rem;
+  margin: 0.1rem 0.4rem 0 0.4rem;
   .item {
     width: 50%;
     padding: 0.1rem;

+ 510 - 55
src/pages/TaskManage/Detail/TaskDetail/TaskDetail.tsx

@@ -15,24 +15,33 @@ import {
   MandateType,
   OrderStatus,
   OrderType,
+  ignoreReason,
 } from '@/pages/TaskManage/constent';
 import {
+  dispatchOrder,
   getDiagnosticDetail,
   getMandateDetail,
+  ignoreTaskRequest,
+  setTaskAutomation,
   withdrawOrderRequest,
 } from '@/services/TaskManage';
 import { useLocation } from '@@/exports';
 import { CaretDownFilled } from '@ant-design/icons';
 import { connect, useRequest } from '@umijs/max';
 import {
+  Button,
+  Checkbox,
   Col,
   Collapse,
   CollapseProps,
+  ConfigProvider,
+  DatePicker,
   Divider,
   Form,
   Input,
   Modal,
   Row,
+  Select,
   Table,
   message,
 } from 'antd';
@@ -42,8 +51,271 @@ import { useEffect, useState } from 'react';
 // @ts-ignore
 import ReactZmage from 'react-zmage';
 import { useNavigate } from 'umi';
+
+import zhCN from 'antd/es/locale/zh_CN';
+
+import { UnityAction } from '@/utils/utils';
 import styles from './taskDetail.less';
 
+const IgnoreTaskModal = (params: any) => {
+  const { open, onCancel, onOk } = params;
+
+  const [ignoreReasonText, setIgnoreReasonText] = useState('');
+  const [selectedReason, setSelectedReason] = useState<any>({});
+  const [showInput, setShowInput] = useState(false);
+
+  const onReasonChange = (reason: any, option: any) => {
+    if (reason !== 4) {
+      setSelectedReason(option);
+      setShowInput(false);
+    } else {
+      setShowInput(true);
+    }
+  };
+
+  const onReasonTextChange = (e: any) => {
+    setIgnoreReasonText(e.target.value);
+  };
+
+  const handleCancle = () => {
+    setSelectedReason({});
+    setIgnoreReasonText('');
+    setShowInput(false);
+    onCancel();
+  };
+
+  const confirmIgnore = () => {
+    if (showInput) {
+      if (!ignoreReasonText.length) {
+        message.warning('请输入忽略理由');
+      } else {
+        onOk(ignoreReasonText);
+      }
+    } else {
+      if (selectedReason?.label) {
+        onOk(selectedReason.label);
+      } else {
+        message.warning('请选择忽略理由');
+      }
+    }
+  };
+
+  return (
+    <Modal
+      className={styles.handleModal}
+      title="忽略"
+      maskStyle={{ borderRadius: 0 }}
+      open={open}
+      onCancel={handleCancle}
+      onOk={confirmIgnore}
+      width="60%"
+      destroyOnClose
+    >
+      <div style={{ padding: '0.15rem' }}>
+        <Form>
+          <Form.Item label="忽略理由:">
+            <Select
+              className={styles.fontS28}
+              options={ignoreReason}
+              onChange={onReasonChange}
+              allowClear
+            />
+          </Form.Item>
+          {showInput && (
+            <Form.Item label="输入理由:">
+              <Input placeholder="请输入理由" onChange={onReasonTextChange} />
+            </Form.Item>
+          )}
+        </Form>
+      </div>
+    </Modal>
+  );
+};
+
+const AutoHandleModal = (props: any) => {
+  const { open, onCancel, onOk } = props;
+
+  const [automation, setAutomation] = useState<string>();
+
+  const confirmAutoHandle = () => {
+    if (automation && automation.length) {
+      onOk(automation);
+    } else {
+      message.warning('请输入口令');
+    }
+  };
+
+  return (
+    <Modal
+      className={styles.handleModal}
+      title="自动处理"
+      maskStyle={{ borderRadius: 0 }}
+      open={open}
+      onCancel={onCancel}
+      onOk={confirmAutoHandle}
+      width="60%"
+      destroyOnClose
+    >
+      <div style={{ padding: '0.15rem' }}>
+        <Form>
+          <Form.Item label="用户口令:">
+            {
+              <Input
+                autoFocus
+                style={{ width: '100%' }}
+                placeholder="请输入口令"
+                onChange={(e) => {
+                  setAutomation(e.target.value);
+                }}
+              />
+            }
+          </Form.Item>
+        </Form>
+      </div>
+    </Modal>
+  );
+};
+
+const MandateSelectModal = (props: any) => {
+  const { open, onCancel, list, onOk, selectedTask, setSelectedTask } = props;
+
+  const [checkOptions, setCheckOptions] = useState([]);
+
+  useEffect(() => {
+    setCheckOptions(
+      list.map((mandate: any, index: number) => {
+        return {
+          label: (
+            <Row className={styles.taskCheckItem}>
+              <span
+                style={{
+                  textDecoration: `${
+                    mandate.Status === 0 ? '' : 'line-through'
+                  }`,
+                }}
+              >
+                {`${index + 1}. ${mandate.Title}为${mandate.Content}`}
+              </span>
+            </Row>
+          ),
+          value: mandate.Id,
+          disabled: mandate.Status !== 0,
+        };
+      }),
+    );
+  }, [list]);
+
+  const onDispatchClick = () => {
+    onOk(selectedTask);
+  };
+
+  const handleCheckChange = (checkedValue: any) => {
+    setSelectedTask(checkedValue);
+  };
+
+  return (
+    <Modal
+      className={styles.handleModal}
+      title="选择任务"
+      open={open}
+      onCancel={onCancel}
+      width={'80%'}
+      destroyOnClose
+      footer={[
+        <Button key="back" onClick={onCancel}>
+          取消
+        </Button>,
+        <Button key="dispatch" type="primary" onClick={onDispatchClick}>
+          派单
+        </Button>,
+      ]}
+    >
+      <Checkbox.Group
+        className={styles.taskCheckBox}
+        options={checkOptions}
+        onChange={handleCheckChange}
+      />
+    </Modal>
+  );
+};
+
+const DispatchTaskModal = (props: any) => {
+  const { open, onCancel, onOK, userList } = props;
+
+  const [form] = Form.useForm();
+
+  useEffect(() => {
+    if (!open) {
+      form.resetFields();
+    }
+  }, [open]);
+
+  const handleDispatchConfirm = async () => {
+    const value = await form.validateFields().catch((err) =>
+      err.errorFields.forEach((item) => {
+        message.error(item.errors);
+      }),
+    );
+    if (!value) {
+      return;
+    }
+    onOK(value);
+  };
+
+  return (
+    <Modal
+      className={styles.handleModal}
+      title="派遣任务"
+      onCancel={onCancel}
+      open={open}
+      destroyOnClose
+      width="65%"
+      onOk={handleDispatchConfirm}
+    >
+      <Form
+        form={form}
+        layout="horizontal"
+        labelCol={{ span: 6 }}
+        wrapperCol={{ span: 16 }}
+      >
+        <Form.Item
+          label="工单类型"
+          name="type"
+          rules={[{ required: true, message: '请选择工单类型' }]}
+        >
+          <Select options={OrderType} placeholder="请选择工单类型" />
+        </Form.Item>
+        <Form.Item
+          label="操作人"
+          name="operator_id"
+          rules={[{ required: true, message: '请选择操作人' }]}
+        >
+          <Select
+            options={userList.map((item) => {
+              return {
+                label: item.CName,
+                value: item.ID,
+              };
+            })}
+            placeholder="请选择操作人"
+          />
+        </Form.Item>
+        <Form.Item
+          label="计划完成时间"
+          name="plan_end_time"
+          rules={[{ required: true, message: '请选择完成时间' }]}
+        >
+          <DatePicker
+            inputReadOnly
+            style={{ width: '100%' }}
+            placeholder="请选择完成时间"
+          />
+        </Form.Item>
+      </Form>
+    </Modal>
+  );
+};
+
 interface IPropsType {
   userList: IUserType[];
   dispatch: (args: { type: string; payload: object }) => void;
@@ -67,7 +339,13 @@ function TaskDetail(props: IPropsType) {
   const [mandateTable, setMandateTable] = useState<IColumn[]>([]);
   const [withdrawReason, setWithdrawReason] = useState('');
   const [withdrawOrderOpen, setWithdrawOrderOpen] = useState(false);
-  const [clickedOrder, setClickedOrder] = useState({});
+  const [clickedOrder, setClickedOrder] = useState<any>({});
+
+  const [ignoreModalOpen, setIgnoreModalOpen] = useState(false);
+  const [autoHandleModalOpen, setAutoHandleModalOpen] = useState(false);
+  const [mandateSelectModalOpen, setMandateSelectModalOpen] = useState(false);
+  const [selectedTask, setSelectedTask] = useState([]);
+  const [dispatchModalOpen, setDispatchModalOpen] = useState(false);
 
   const columnDef: ColumnsType<IColumn> = [
     {
@@ -86,19 +364,6 @@ function TaskDetail(props: IPropsType) {
     },
   ];
 
-  const base64ToImageUrl = (base64String: string) => {
-    const byteCharacters = atob(base64String);
-    const byteArrays = [];
-
-    for (let i = 0; i < byteCharacters.length; i++) {
-      byteArrays.push(byteCharacters.charCodeAt(i));
-    }
-
-    const byteArray = new Uint8Array(byteArrays);
-    const blob = new Blob([byteArray], { type: 'image/png' });
-    return URL.createObjectURL(blob);
-  };
-
   const { refresh: refreshDetail } = useRequest(getMandateDetail, {
     defaultParams: [
       {
@@ -230,6 +495,121 @@ function TaskDetail(props: IPropsType) {
     },
   });
 
+  const { run: runIgnore } = useRequest(ignoreTaskRequest, {
+    manual: true,
+  });
+
+  const { run: runDispatch } = useRequest(dispatchOrder, {
+    manual: true,
+  });
+
+  const { run: runAutomate } = useRequest(setTaskAutomation, {
+    manual: true,
+  });
+
+  // 忽略
+  const onIgnoreTaskConfirm = async (id: any, reason: string) => {
+    const params = {
+      Id: id,
+      Status: 4,
+      note: reason,
+    };
+    const result = await runIgnore(params);
+    if (result) {
+      return true;
+    }
+  };
+  // 派单
+  const onDispatchTaskConfirm = async (params: any) => {
+    const result = await runDispatch(params);
+    if (result) {
+      return true;
+    }
+  };
+  // 自动处理
+  const onAutoHandleTaskConfirm = async (pw: any, mandate: any) => {
+    const params = {
+      mandate_id: mandate.Id,
+      pw,
+    };
+    const result = runAutomate(params, mandate);
+    if (result) {
+      return true;
+    }
+  };
+
+  // 打开指定弹窗
+  const openSpecifiedModal = (type: any) => {
+    switch (type) {
+      case 'ignore':
+        setIgnoreModalOpen(true);
+        break;
+      case 'manual':
+        UnityAction.sendMsg('menuItem', '工艺监控');
+        break;
+      case 'auto':
+        setAutoHandleModalOpen(true);
+        break;
+      case 'dispatch':
+        setMandateSelectModalOpen(true);
+        break;
+    }
+  };
+
+  // 忽略
+  const onIgnoreModalOk = async (reason: any) => {
+    const result = await onIgnoreTaskConfirm(mandate_id, reason);
+    if (result) {
+      setIgnoreModalOpen(false);
+      refreshDetail();
+    }
+  };
+
+  const onAutoHandleModalOk = async (pw: any) => {
+    const result = await onAutoHandleTaskConfirm(pw, mandateDetail);
+    if (result) {
+      setAutoHandleModalOpen(false);
+      refreshDetail();
+    }
+  };
+
+  const onMandateSelected = (records: any) => {
+    // 打开派单Form弹窗将选中的任务进行派遣
+    if (records?.length === 0) {
+      message.warning('请先选择要派遣的任务');
+      return;
+    }
+    setSelectedTask(records);
+    setDispatchModalOpen(true);
+  };
+
+  const onDispatchModalOk = async (value: any) => {
+    const params = {
+      ...value,
+      m_id: Number(mandate_id),
+      mc_id: selectedTask.join(),
+      plan_end_time: dayjs(value.plan_end_time).format('YYYY-MM-DD HH:mm:ss'),
+    };
+    if (params.type === 5) {
+      if (params.mc_id.split(',').length > 1) {
+        message.warning('加药工单不可批量派遣');
+        return;
+      }
+      params.note = `${
+        mandateChild
+          .find((mandate) => mandate.Id === Number(params.mc_id))
+          ?.Title?.split(':')[1] + ',请及时加药'
+      }`;
+    } else {
+      params.note = mandateDetail?.Summary;
+    }
+    const result = await onDispatchTaskConfirm(params);
+    if (result) {
+      setDispatchModalOpen(false);
+      refreshDetail();
+    }
+  };
+
   useEffect(() => {
     if (userList.length === 0) {
       dispatch({
@@ -292,9 +672,9 @@ function TaskDetail(props: IPropsType) {
       return;
     }
     const res = await withdrawOrderRequest({
-      record_id: clickedOrder.Id,
+      record_id: clickedOrder?.Id,
       note: withdrawReason,
-      type: clickedOrder.RecordType.value,
+      type: clickedOrder?.RecordType?.value,
     });
     if (res.code === 200) {
       message.success('关闭工单成功');
@@ -380,46 +760,47 @@ function TaskDetail(props: IPropsType) {
               </Row>
             )}
 
-            {mandateDetail?.Files.length > 0 && (
-              <Row className={styles.infoRow}>
-                <Col
-                  className={styles.fontS30}
-                  span={4}
-                  style={{ fontWeight: 600 }}
-                >
-                  截图
-                </Col>
-                <Col className={styles.fontS30}>
-                  <ReactZmage
-                    controller={{
-                      // 关闭按钮
-                      close: true,
-                      // 缩放按钮
-                      zoom: false,
-                      // 下载按钮
-                      download: false,
-                      // 翻页按钮
-                      flip: true,
-                      // 多页指示
-                      pagination: true,
-                    }}
-                    backdrop="rgba(255,255,255,0.5)"
-                    style={{ width: '3.5rem' }}
-                    src={mandateDetail?.Files[0].url}
-                    set={mandateDetail?.Files.map((item) => {
-                      if (item) {
-                        return {
-                          src: item.url,
-                        };
-                      }
-                      return {};
-                    })}
-                  />
-                </Col>
-              </Row>
-            )}
+            {mandateDetail?.Files !== undefined &&
+              mandateDetail?.Files?.length > 0 && (
+                <Row className={styles.infoRow}>
+                  <Col
+                    className={styles.fontS30}
+                    span={4}
+                    style={{ fontWeight: 600 }}
+                  >
+                    截图
+                  </Col>
+                  <Col className={styles.fontS30}>
+                    <ReactZmage
+                      controller={{
+                        // 关闭按钮
+                        close: true,
+                        // 缩放按钮
+                        zoom: false,
+                        // 下载按钮
+                        download: false,
+                        // 翻页按钮
+                        flip: true,
+                        // 多页指示
+                        pagination: true,
+                      }}
+                      backdrop="rgba(255,255,255,0.5)"
+                      style={{ width: '3.5rem' }}
+                      src={mandateDetail?.Files[0].url}
+                      set={mandateDetail?.Files.map((item) => {
+                        if (item) {
+                          return {
+                            src: item.url,
+                          };
+                        }
+                        return {};
+                      })}
+                    />
+                  </Col>
+                </Row>
+              )}
 
-            <Row>
+            <Row className={styles.infoRow}>
               <Col
                 className={styles.fontS30}
                 span={4}
@@ -438,6 +819,52 @@ function TaskDetail(props: IPropsType) {
                 />
               </Col>
             </Row>
+            <Row justify="end" gutter={10}>
+              <Col>
+                <Button
+                  className={styles.footerBtn}
+                  shape="round"
+                  onClick={() => {
+                    openSpecifiedModal('ignore');
+                  }}
+                >
+                  忽略
+                </Button>
+              </Col>
+              <Col>
+                <Button
+                  className={styles.footerBtn}
+                  shape="round"
+                  onClick={() => {
+                    openSpecifiedModal('manual');
+                  }}
+                >
+                  手动处理
+                </Button>
+              </Col>
+              <Col>
+                <Button
+                  className={styles.footerBtn}
+                  shape="round"
+                  onClick={() => {
+                    openSpecifiedModal('auto');
+                  }}
+                >
+                  自动处理
+                </Button>
+              </Col>
+              <Col>
+                <Button
+                  className={styles.footerBtn}
+                  shape="round"
+                  onClick={() => {
+                    openSpecifiedModal('dispatch');
+                  }}
+                >
+                  派单
+                </Button>
+              </Col>
+            </Row>
           </div>
           <div className={styles.relatedOrder}>
             <Collapse
@@ -473,6 +900,34 @@ function TaskDetail(props: IPropsType) {
           </Form.Item>
         </Form>
       </Modal>
+      <ConfigProvider locale={zhCN}>
+        <IgnoreTaskModal
+          open={ignoreModalOpen}
+          onCancel={() => setIgnoreModalOpen(false)}
+          onOk={onIgnoreModalOk}
+        />
+        <AutoHandleModal
+          open={autoHandleModalOpen}
+          onCancel={() => setAutoHandleModalOpen(false)}
+          onOk={onAutoHandleModalOk}
+        />
+        <MandateSelectModal
+          open={mandateSelectModalOpen}
+          onCancel={() => setMandateSelectModalOpen(false)}
+          selectedTask={selectedTask}
+          setSelectedTask={setSelectedTask}
+          onOk={onMandateSelected}
+          list={mandateChild}
+        />
+        <DispatchTaskModal
+          open={dispatchModalOpen}
+          userList={userList}
+          onCancel={() => {
+            setDispatchModalOpen(false);
+          }}
+          onOK={onDispatchModalOk}
+        />
+      </ConfigProvider>
     </PageContent>
   );
 }

+ 28 - 29
src/pages/TaskManage/Detail/TaskDetail/taskDetail.less

@@ -112,35 +112,34 @@
     }
   }
 
-  // .workOrderCard {
-  //   margin-bottom: 0.25rem;
-  //   padding: 0.2rem 0.1rem;
-  //   background-color: #e5effa;
-  //   display: flex;
-  //   align-items: center;
-
-  //   .leftInfo {
-  //     width: 80%;
-  //   }
-
-  //   .rightButtonContainer {
-  //     width: 20%;
-  //     display: flex;
-  //     flex-direction: column;
-  //     justify-content: space-between;
-  //     align-items: center;
-  //   }
-
-  //   .rightButton {
-  //     flex: auto;
-  //     color: #5697e4;
-  //     font-size: 0.24rem;
-  //     text-align: center;
-  //     display: flex;
-  //     justify-content: center;
-  //     align-items: center;
-  //   }
-  // }
+  .footerBtn {
+    height: 0.5rem;
+    width: 1.4rem;
+    font-size: 0.26rem;
+    border: 0;
+    color: #5697e4;
+    background-color: #e5effa;
+  }
+}
+
+.taskCheckBox {
+  padding: 0.1rem;
+  :global {
+    .ant-checkbox-wrapper {
+      width: 100%;
+      margin-top: 0.05rem;
+      margin-bottom: 0.05rem;
+      border-bottom: 0.01rem dashed gray;
+    }
+  }
+}
+
+.taskCheckItem {
+  font-size: 0.28rem;
+  padding: 0.1rem;
+  min-width: 0.8rem;
+  display: flex;
+  align-items: center;
 }
 
 .handleModal {

+ 4 - 0
src/pages/TaskManage/components/MandateDetail.js

@@ -419,6 +419,7 @@ const IgnoreTaskModal = (params) => {
     <Modal
       className={styles.handleModal}
       title="忽略"
+      maskStyle={{ borderRadius: '0.5rem' }}
       open={open}
       onCancel={handleCancle}
       onOk={confirmIgnore}
@@ -463,6 +464,7 @@ const AutoHandleModal = (props) => {
     <Modal
       className={styles.handleModal}
       title="自动处理"
+      maskStyle={{ borderRadius: '0.5rem' }}
       open={open}
       onCancel={onCancel}
       onOk={confirmAutoHandle}
@@ -530,6 +532,7 @@ const MandateSelectModal = (props) => {
     <Modal
       className={styles.handleModal}
       title="选择任务"
+      maskStyle={{ borderRadius: '0.5rem' }}
       open={open}
       onCancel={onCancel}
       width={'80%'}
@@ -579,6 +582,7 @@ const DispatchTaskModal = (props) => {
     <Modal
       className={styles.handleModal}
       title="派遣任务"
+      maskStyle={{ borderRadius: '0.5rem' }}
       onCancel={onCancel}
       open={open}
       destroyOnClose

+ 1 - 1
src/pages/TaskManage/components/TopFilter.tsx

@@ -40,7 +40,7 @@ const TopFilter: React.FC<IProps> = ({ filters, onChange }) => {
                 options={item.options}
                 popupMatchSelectWidth={250}
                 allowClear
-                suffixIcon={<CaretDownFilled />}
+                suffixIcon={<CaretDownFilled style={{ fontSize: '0.36rem' }} />}
                 onChange={(value) => {
                   const temp = filters.map((f, i) => {
                     if (index === i) {

+ 16 - 16
src/pages/TaskManage/constent.ts

@@ -23,12 +23,12 @@ export const MandateClass = [
     MandateType: 2,
     OrderType: 1,
   },
-  {
-    value: 5,
-    label: '电气检测',
-    MandateType: 2,
-    OrderType: 2,
-  },
+  // {
+  //   value: 5,
+  //   label: '电气检测',
+  //   MandateType: 3,
+  //   OrderType: 2,
+  // },
   {
     value: 6,
     label: '环境检测',
@@ -62,56 +62,56 @@ export const MandateClass = [
   {
     value: 11,
     label: '故障上报',
-    MandateType: 3,
+    MandateType: 2,
     OrderType: 2,
   },
   {
     value: 12,
     label: '工艺数据',
-    MandateType: 3,
+    MandateType: 2,
     OrderType: 2,
   },
   {
     value: 13,
     label: '设备巡检',
-    MandateType: 3,
+    MandateType: 2,
     OrderType: 2,
   },
   {
     value: 14,
     label: '数据超限',
-    MandateType: 3,
+    MandateType: 2,
     OrderType: 2,
   },
   {
+    value: 15,
     label: '现场巡检',
     MandateType: 3,
-    value: 15,
   },
   {
+    value: 16,
     label: '备品/盘点',
     MandateType: 3,
-    value: 16,
   },
   {
+    value: 17,
     label: '集团任务',
     MandateType: 4,
-    value: 17,
   },
 ];
 
 export const MandateType = [
   {
     value: 1,
-    label: '工况任务',
+    label: '生产任务',
   },
   {
     value: 2,
-    label: '系统自检任务',
+    label: '应急任务',
   },
   {
     value: 3,
-    label: '生产任务',
+    label: '定时任务',
   },
   {
     value: 4,

+ 1 - 1
src/pages/TaskManage/index.less

@@ -53,7 +53,7 @@
 .ant-select-clear {
   opacity: 1 !important;
   margin-top: -0.12rem !important;
-  width: 0.24rem !important;
+  width: 0.36rem !important;
   height: 0.24rem !important;
   font-size: 0.24rem !important;
   color: black !important;